루나 위키
runawiki
https://runa.miraheze.org/wiki/%EB%8C%80%EB%AC%B8
MediaWiki 1.40.1
first-letter
미디어
특수
토론
사용자
사용자토론
루나 위키
루나 위키토론
파일
파일토론
미디어위키
미디어위키토론
틀
틀토론
도움말
도움말토론
분류
분류토론
모듈
모듈토론
대문
0
1
1
2023-11-26T13:22:34Z
MediaWiki default
1
메인 페이지 만들기
wikitext
text/x-wiki
__NOTOC__
== {{SITENAME}}에 오신 것을 환영합니다! ==
이 대문 페이지는 자동으로 만들어진 것이며 아직 다른 내용으로 대체되지 않은 것으로 보입니다.
=== 이 위키의 사무관에게 ===
안녕하십니까, 새로운 위키에 오신 것을 환영합니다! 위키의 호스팅을 위해 Miraheze를 선택해 주셔서 감사드리며 저희 호스팅으로 재밌는 시간 되시기 바랍니다.
지금 바로 또는 언제든지 원하는 때에 위키에서 작업을 시작할 수 있습니다.
도움이 필요하십니까? 문제 없습니다! 필요하면 위키에 도움을 드리겠습니다. 시작하려면 다음 유용한 링크를 확인해 주세요:
* [[mw:Special:MyLanguage/Help:Contents|미디어위키 안내서 (예: 둘러보기, 편집, 문서 삭제, 사용자 차단)]]
* [[meta:Special:MyLanguage/FAQ|Miraheze 자주 묻는 질문]]
* [[meta:Special:MyLanguage/Request features|위키에 기능 요청하기]]. (확장기능, 스킨과 로고/파비콘 변경은 위키의 [[Special:ManageWiki]]에서 수행해야 합니다. 자세한 내용은 [[meta:Special:MyLanguage/ManageWiki|ManageWiki]]을 참고하세요.)
==== 그런데 Miraheze님, 저는 도무지 이해가 안 됩니다! ====
아무 문제 없습니다. 문서/FAQ에 무언가가 설명되어 있지 않더라도 저희가 기꺼이 도와드리겠습니다. 여기에서 저희를 찾을 수 있습니다:
* [[meta:Special:MyLanguage/Help center|Miraheze 위키에서]]
* [[phab:|Phabricator]]에서
* [https://miraheze.org/discord Discord]에서
* 또는 irc.libera.chat의 #miraheze에서의 IRC ([irc://irc.libera.chat/%23miraheze 직접 링크]; [https://web.libera.chat/?channel=#miraheze 웹채팅])
=== 이 위키의 방문자에게 ===
안녕하세요, 이 위키의 기본 대문 페이지(여기)는 이 위키의 사무관에 의해 아직 다른 것으로 대체되지 않았습니다. 사무관은 대문 문서에 작업을 할 수도 있으므로 나중에 다시 확인해 주십시오!
8f10c305efa1cd180c96fbe25cac01f0866c50d6
20
1
2023-11-27T08:06:33Z
朴初隣
2
내용을 "= {{SITENAME}}에 오신 것을 환영합니다! = 이 대문 페이지는 자동으로 만들어진 것이며 아직 다른 내용으로 대체되지 않은 것으로 보입니다."(으)로 바꿈
wikitext
text/x-wiki
= {{SITENAME}}에 오신 것을 환영합니다! =
이 대문 페이지는 자동으로 만들어진 것이며 아직 다른 내용으로 대체되지 않은 것으로 보입니다.
ae05ddd20dd7fec353c5ce8a2d477005c0fdd556
21
20
2023-11-27T08:09:03Z
朴初隣
2
/* 루나 위키에 오신 것을 환영합니다! */
wikitext
text/x-wiki
= {{SITENAME}}에 오신 것을 환영합니다! =
우리 위키는 항상 밝은 마음으로 회원분을 모시고 있으며, 우리 위키의 규칙을 잘 지켜주시면 정말 감사하겠습니다!
d0be8ff9e4ba04431a84a76c9c761fe455a16017
22
21
2023-11-27T08:10:31Z
朴初隣
2
/* 루나 위키에 오신 것을 환영합니다! */
wikitext
text/x-wiki
= {{SITENAME}}에 오신 것을 환영합니다! =
우리 위키는 항상 밝은 마음으로 회원분을 모시고 있으며, 우리 위키의 규칙을 잘 지켜주시면 정말 감사하겠습니다!
= 규칙 =
[[루나 위키:규칙]]으로 들어가서 규칙을 확인하십시오.
08840f26fe641dd4d14a05af396c173238170af9
23
22
2023-11-27T08:15:31Z
朴初隣
2
"[[대문]]" 문서를 보호했습니다 ([편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한))
wikitext
text/x-wiki
= {{SITENAME}}에 오신 것을 환영합니다! =
우리 위키는 항상 밝은 마음으로 회원분을 모시고 있으며, 우리 위키의 규칙을 잘 지켜주시면 정말 감사하겠습니다!
= 규칙 =
[[루나 위키:규칙]]으로 들어가서 규칙을 확인하십시오.
08840f26fe641dd4d14a05af396c173238170af9
틀:찬양
10
2
2
2023-11-27T07:19:58Z
2001:4430:413B:FAAB:FD62:91C:389:3DD3
0
새 문서: <onlyinclude>{{알림 상자 |색 = |배경색=#E0FFFF |경계선 = 4px solid #191970 |테두리색= |제목색=#006400 |본문색=#20B2AA |제목=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">이 문서는 찬양을 해야 될것에 대해 다룹니다.</div> |본문=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">'''찬양 안 하면 뒤질 수도 있다고. ^오^'''</div> |왼쪽 그림 = 무서운 따봉.jp...
wikitext
text/x-wiki
<onlyinclude>{{알림 상자
|색 =
|배경색=#E0FFFF
|경계선 = 4px solid #191970
|테두리색=
|제목색=#006400
|본문색=#20B2AA
|제목=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">이 문서는 찬양을 해야 될것에 대해 다룹니다.</div>
|본문=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">'''찬양 안 하면 뒤질 수도 있다고. ^오^'''</div>
|왼쪽 그림 = 무서운 따봉.jpg
|왼쪽 그림 크기 = 100px
}}</onlyinclude>
1cf3b863c72d7c8022f8e56a896605e0c42be991
고양신
0
4
5
2023-11-27T07:26:28Z
朴初隣
2
새 문서: {{찬양}} 고양신께서는 우리를 영원한 악으로부터 구원해주실 거니까 어서 고양교에 접속해서 고양교 신자가 되십시오! 우리는 여러분을 기다리고 있겠습니다! [https://goyang-gyo5.webnode.ru/ 고양교]
wikitext
text/x-wiki
{{찬양}}
고양신께서는 우리를 영원한 악으로부터 구원해주실 거니까 어서 고양교에 접속해서 고양교 신자가 되십시오!
우리는 여러분을 기다리고 있겠습니다!
[https://goyang-gyo5.webnode.ru/ 고양교]
94b0640d299c91f926a1b48cd79ca51806e6c99f
파일:무서운 따봉.jpg
6
5
6
2023-11-27T07:30:02Z
朴初隣
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
틀:읍읍
10
6
7
2023-11-27T07:32:15Z
朴初隣
2
새 문서: <onlyinclude>{{알림 상자 |색 = |배경색=#E0FFFF |경계선 = 4px solid #191970 |테두리색= |제목색=#006400 |본문색=#20B2AA |제목=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">당신 누구야?읍읍!!</div><font size=4> |본문=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">'''작성자가 어디론가 사라진 문서입니다.'''</div> |왼쪽 그림 = 연행.jpg |왼쪽 그림 크기 = 70p...
wikitext
text/x-wiki
<onlyinclude>{{알림 상자
|색 =
|배경색=#E0FFFF
|경계선 = 4px solid #191970
|테두리색=
|제목색=#006400
|본문색=#20B2AA
|제목=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">당신 누구야?읍읍!!</div><font size=4>
|본문=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">'''작성자가 어디론가 사라진 문서입니다.'''</div>
|왼쪽 그림 = 연행.jpg
|왼쪽 그림 크기 = 70px
|오른쪽 그림 = 무서운 따봉.jpg
|오른쪽 그림 크기 = 150px
}}[[분류:작성자가 실종된 문서]]</onlyinclude>
32e15edf2e591d1e57f874ba4f787979af130376
파일:연행.jpg
6
7
8
2023-11-27T07:33:56Z
朴初隣
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
틀:총기 표
10
8
9
2023-11-27T07:45:45Z
朴初隣
2
새 문서: {|class="wikitable sortable" width="80%" ! 총기명 ! 원산지 ! 개발국 ! 생산국 |- | AK-47 || 소련 || 소련 || 소련|| |} [include(틀:총기 표/설명문서)] [[분류:총기]]
wikitext
text/x-wiki
{|class="wikitable sortable" width="80%"
! 총기명
! 원산지
! 개발국
! 생산국
|-
| AK-47 || 소련 || 소련 || 소련||
|}
[include(틀:총기 표/설명문서)]
[[분류:총기]]
820d6b4afc7a6504f3dc8831e88495b6ef030e9b
11
9
2023-11-27T07:49:50Z
朴初隣
2
wikitext
text/x-wiki
{|class="wikitable sortable" width="80%"
! 총기명
! 원산지
! 개발국
! 생산국
|-
| AK-47 || 소련 || 소련 || 소련||
|}
[[분류:총기]]
904828a9a4e94e1e8c320449ef6d1615964e7d19
틀:총기 표/설명문서
10
9
10
2023-11-27T07:48:59Z
朴初隣
2
새 문서: [[분류:틀 설명 문서]] [include(틀:설명문서)] == 개요 == 총기를 소개하는 최상단 표를 매개변수를 받아 보여주는 틀입니다. == 사용법 == 그냥 가져다가 쓰세요.
wikitext
text/x-wiki
[[분류:틀 설명 문서]]
[include(틀:설명문서)]
== 개요 ==
총기를 소개하는 최상단 표를 매개변수를 받아 보여주는 틀입니다.
== 사용법 ==
그냥 가져다가 쓰세요.
59f82311ab4f35730ee657275a5b97797a31d921
13
10
2023-11-27T07:55:04Z
朴初隣
2
wikitext
text/x-wiki
[[분류:틀 설명 문서]]
== 개요 ==
총기를 소개하는 최상단 표를 매개변수를 받아 보여주는 틀입니다.
== 사용법 ==
그냥 가져다가 쓰세요.
5abe20dfa7564ef57e9129151d76a53abb3ad8dd
14
13
2023-11-27T07:56:42Z
朴初隣
2
wikitext
text/x-wiki
[[분류:틀 설명 문서]]
= 개요 =
총기를 소개하는 최상단 표를 매개변수를 받아 보여주는 틀입니다.
= 사용법 =
그냥 가져다가 쓰세요.
6281b41ea968b8002599370e367295af2d325f19
사용자:朴初隣
2
10
12
2023-11-27T07:54:17Z
朴初隣
2
새 문서: 朴初隣의 사용자 문서에 오신 것을 환영합니다! 저에게 하실 말이 있다면 이 문서에서 토론을 개설해주세요. = 소개 = 루나 위키 운영자입니다.
wikitext
text/x-wiki
朴初隣의 사용자 문서에 오신 것을 환영합니다!
저에게 하실 말이 있다면 이 문서에서 토론을 개설해주세요.
= 소개 =
루나 위키 운영자입니다.
cfe5a54222431c3aa41179d7c4f7b02898b524e8
19
12
2023-11-27T08:03:58Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
朴初隣의 사용자 문서에 오신 것을 환영합니다!
저에게 하실 말이 있다면 이 문서에서 토론을 개설해주세요.
= 개요 =
루나 위키 운영자입니다.
be32e62d56d954691d5dcbe23693973077c95664
48
19
2023-11-28T05:29:17Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
朴初隣의 사용자 문서에 오신 것을 환영합니다!
저에게 하실 말이 있다면 이 문서에서 토론을 개설해주세요.
= 개요 =
루나 위키 관리자입니다.
efe891e81fd8680f5508bc8ee93ebf3036804ff1
49
48
2023-11-28T05:29:58Z
朴初隣
2
wikitext
text/x-wiki
朴初隣의 사용자 문서에 오신 것을 환영합니다!
저에게 하실 말이 있다면 [[사용자토론:朴初隣]] 문서에서 토론을 개설해주세요.
= 개요 =
루나 위키 관리자입니다.
df6e849aa90b2ac32a77e75b051fa6f4307c19c5
50
49
2023-11-28T05:30:11Z
朴初隣
2
wikitext
text/x-wiki
저에게 하실 말이 있다면 [[사용자토론:朴初隣]] 문서에서 토론을 개설해주세요.
= 개요 =
루나 위키 관리자입니다.
6b32499f7317896aea5da6bd188ca7d0d5534184
51
50
2023-11-28T05:30:24Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
루나 위키 관리자입니다.
88f7828b614d375f599a18a12a935ed36f6e1345
52
51
2023-11-28T05:30:56Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
루나 위키 관리자입니다.
저에게 할 말이 있다면 [[사용자토론:朴初隣]] 문서에서 토론을 개설해주세요.
886f767d4a58c721a6cad3fa9c706fa18cdc123d
53
52
2023-11-28T05:31:06Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
루나 위키 관리자입니다.
저에게 할 말이 있다면 [[사용자토론:朴初隣]] 문서에서 토론을 개설해주세요.
3db5860c352db50b7443fd6d42282a34063f5a56
분류:총기
14
11
15
2023-11-27T07:57:54Z
朴初隣
2
빈 문서를 만듦
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
분류:틀 설명 문서
14
12
16
2023-11-27T07:59:45Z
朴初隣
2
빈 문서를 만듦
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
고양교
0
13
17
2023-11-27T08:02:53Z
朴初隣
2
새 문서: [[고양신]]을 믿는 가상종교입니다.
wikitext
text/x-wiki
[[고양신]]을 믿는 가상종교입니다.
b9f936ff7f7dcc4081f42ba426dd030d4724d239
18
17
2023-11-27T08:03:16Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
[[고양신]]을 믿는 가상종교입니다.
483f45fef459765287cd0dd9f0574c25058417fa
25
18
2023-11-27T08:22:10Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
[[고양신]]을 믿는 가상 종교입니다.
6753a3f1c3d7099ba56c9b2c8a444fc0d3bd2167
44
25
2023-11-27T23:30:48Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
[[고양신]]을 믿는 가상 종교입니다.
= 관련 링크 =
[https://goyang-gyo5.webnode.ru/ 고양교]
9106aab9741bea8e4bf6249e842137d0aa18393b
루나 위키:소개
4
14
24
2023-11-27T08:21:43Z
朴初隣
2
새 문서: = 개요 = 우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키입니다!
wikitext
text/x-wiki
= 개요 =
우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키입니다!
ddd6db80fe798f198348e5a87d26ccb518040810
루나 위키:규칙
4
15
26
2023-11-27T08:42:35Z
朴初隣
2
새 문서: '''1''' 정보전달 목적의 문서 작성 금지 우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키이기 때문에 정보전달 목적의 문서를 작성한 뒤 발각되면 계정 정지 조치됩니다.
wikitext
text/x-wiki
'''1''' 정보전달 목적의 문서 작성 금지
우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키이기 때문에 정보전달 목적의 문서를 작성한 뒤 발각되면 계정 정지 조치됩니다.
ed2d90ceaabb57b37f793e9c56c30e4f452d1e43
27
26
2023-11-27T09:25:36Z
朴初隣
2
wikitext
text/x-wiki
'''1''' 정보전달 목적의 문서 작성 금지
우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키이기 때문에 정보전달 목적의 문서를 작성한 뒤 발각되면 계정 정지 조치됩니다.
'''2''' 반달 금지
우리 위키에서 반달을 한 뒤 발각되면 계정 삭제 조치됩니다.
0e7ad154b4491069f465542b4373a899017d3f1a
29
27
2023-11-27T09:33:24Z
박소연
6
내용을 "시발 규칙 그딴게왜있노"(으)로 바꿈
wikitext
text/x-wiki
시발 규칙 그딴게왜있노
628ac9a0e1b8a151d5fcbb1adf4003279df97719
30
29
2023-11-27T09:36:10Z
朴初隣
2
wikitext
text/x-wiki
'''1''' 정보전달 목적의 문서 작성 금지
우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키이기 때문에 정보전달 목적의 문서를 작성한 뒤 발각되면 계정 정지 조치됩니다.
'''2''' 반달 금지
우리 위키에서 반달을 한 뒤 발각되면 계정 삭제 조치됩니다.
0e7ad154b4491069f465542b4373a899017d3f1a
33
30
2023-11-27T09:38:54Z
朴初隣
2
"[[루나 위키:규칙]]" 문서를 보호했습니다 ([편집=관리자만 허용] (무기한) [이동=관리자만 허용] (무기한))
wikitext
text/x-wiki
'''1''' 정보전달 목적의 문서 작성 금지
우리 위키는 가상 국가, 가상 종교, 가상 지역, 가상 언어 등을 기재할 수 있는 대체역사 위키이기 때문에 정보전달 목적의 문서를 작성한 뒤 발각되면 계정 정지 조치됩니다.
'''2''' 반달 금지
우리 위키에서 반달을 한 뒤 발각되면 계정 삭제 조치됩니다.
0e7ad154b4491069f465542b4373a899017d3f1a
틀:언어 정보
10
19
36
2023-11-27T09:53:33Z
朴初隣
2
새 문서: {| class="infobox" align="right" style=" border:1px solid; background:white" width="30%" |- style=" background-color:#c5cae9" align="center" |colspan="2" | <big>'''{{{언어명}}}'''</big><br>'''{{{원어명}}}'''<br>[{{{IPA}}}] |- style=" align="center" |'''사용 지역'''|| {{{사용 지역}}} |- style=" align="center" |'''사용 인구'''||{{{사용 인구}}} |- style=" background-color:#eeeeee" align="center" | colspan="2" | <div style="text-align:center">'''표기'''</div>...
wikitext
text/x-wiki
{| class="infobox" align="right" style=" border:1px solid; background:white" width="30%"
|- style=" background-color:#c5cae9" align="center"
|colspan="2" | <big>'''{{{언어명}}}'''</big><br>'''{{{원어명}}}'''<br>[{{{IPA}}}]
|- style=" align="center"
|'''사용 지역'''|| {{{사용 지역}}}
|- style=" align="center"
|'''사용 인구'''||{{{사용 인구}}}
|- style=" background-color:#eeeeee" align="center"
| colspan="2" | <div style="text-align:center">'''표기'''</div>
|- style=" align="center"
|'''문자'''||{{{사용 문자}}}
|- style=" background-color:#eeeeee" align="center"
| colspan="2" | <div style="text-align:center">'''분류'''</div>
|- style=" align="center"
|'''어순'''||{{{어순}}}
|- style=" align="center"
|'''언어 유형'''||{{{언어 유형}}}
|- style=" align="center"
|'''언어 계통'''||{{{언어 계통}}}
|- style=" align="center"
|'''언어 지향'''||{{{언어 지향}}}
|- style=" background-color:#eeeeee" align="center"
| colspan="2" | <div style="text-align:center">'''분화'''</div>
|- style=" align="center"
|'''옛 형태'''||<div style="text-align:left"> {{{옛 형태}}} </div>
|- style=" align="center"
|'''방언'''||<div style="text-align:left"> {{{방언}}} </div>
|- style=" background-color:#eeeeee" align="center"
| colspan="2" | <div style="text-align:center">'''언어 코드'''</div>
|- style=" align="center"
|'''ISO 639-1'''||{{{ISO 639-1}}}
|- style=" align="center"
|'''ISO 639-2'''||{{{ISO 639-2}}}
|- style=" align="center"
|'''ISO 639-3'''||{{{ISO 639-3}}}
|}<noinclude>
{{언어 정보/설명문서}}
baae85ab5b60a09c7801e46f38b2295f8e3340a4
고대 루나어
0
20
37
2023-11-27T09:54:54Z
朴初隣
2
새 문서: <div style=" width: 1000px; border: 4px solid #840; background-color: #fc8; border-radius: 4px; padding: 8px; margin: 8px; color: #840; "> <big>'''이 문서는 주기적인 수정이 이루어집니다.'''</big> </div> {{언어 정보 |원어명 = Rira Runà |언어명 = 고대 루나어 |IPA = |사용 지역 = 대한민국 (경상도 북부 지방) |사용 인구 = 1명(본인), 학습자 3명 |사용 문자 = [[라틴 문자]] |어순 = SVO |언어 유형 = 굴절/교...
wikitext
text/x-wiki
<div style="
width: 1000px;
border: 4px solid #840;
background-color: #fc8;
border-radius: 4px;
padding: 8px;
margin: 8px;
color: #840;
">
<big>'''이 문서는 주기적인 수정이 이루어집니다.'''</big>
</div>
{{언어 정보
|원어명 = Rira Runà
|언어명 = 고대 루나어
|IPA =
|사용 지역 = 대한민국 (경상도 북부 지방)
|사용 인구 = 1명(본인), 학습자 3명
|사용 문자 = [[라틴 문자]]
|어순 = SVO
|언어 유형 = 굴절/교착어
|언어 계통 = 없음(인공어)
|언어 지향 = 최소주의 인공어
|옛 형태 = 없음
| 방언 = 없음
| ISO 639-1 = 미등록
| ISO 639-2 = 미등록
| ISO 639-3 = 미등록
}}
= 소개 =
2023년 11월 25일부터 만들기 시작해서 아직도 만들고있는 인공어이다.
= 단어 목록 =
{|class="wikitable sortable" width="80%"
! 원어
! 의미
! 발음
! 어원
|-
| Xapan || 교통카드 || 하판 || 창작된 단어||
|-
| Bizy || 신용카드 || 비지 || 창작된 단어||
|-
| Ezy || 쉽다 || 이지 || 영어의 Easy||
|-
| Faya || 불 || 화야 || 영어의 Fire||
|-
| Xauz || 집 || 하우츠 || 영어의 House||
|-
| Jntaneto || 인터넷 || 인타네토 || 일본어의 インターネット||
|-
| Japa || 일본 || 야파 || 영어의 Japan||
|-
| Kakoku || 한국 || 카코쿠 || 일본어의 韓国||
|-
| Kira || 죽다, 죽이다 || 키라 || 영어의 Kill||
|-
| Kisana || 작다 || 키사나 || 일본어의 小さな||
|-
| Ripa || 살다, 생활하다 || 리파 || 창작된 단어||
|-
| Ripepa || 사랑하다, 좋아하다 || 리페파 || 창작된 단어||
|-
| Norey || 노르웨이 || 노레이 || 창작된 단어||
|-
| Nein || 아니다, 틀리다 || 나인 || 독일어의 Nein||
|-
| Pàk || 공원 || 파크 || 영어의 Park||
|-
| Ranáze || 언어 || 라나제 || 창작된 단어||
|-
| Ruña || 민족 || 루냐 || 창작된 단어||
|-
| Runá || 달 || 루나 || 스페인어의 Luna||
|-
| Sarurey || 지하철 || 사루레이 || 영어의 Subway||
|-
| Steliuz || 별 || 스텔리우츠 || 에스페란토어의 Stelo||
|-
| Tore || 기차 || 토레 || 영어의 Train||
|-
| Wata || 물 || 와타 || 영어의 Water||
|-
| Yappa-Tappa || 열차 || 야파 타파 || 창작된 단어||
|-
| Yona-Yona || 승객 || 요나 요나 || 창작된 단어||
|-
| Kakau || 역 || 카카우 || 중국어의 坑口||
|-
| Kora-Kota || 버스 || 코라 코타 || 창작된 단어||
|-
| Onosil || 친구 || 오노실 || 창작된 단어||
|-
| Ruko || (국내)여행 || 루코 || 창작된 단어||
|-
| Torep || (해외)여행 || 토렙 || 영어의 Trip||
|-
| teteloz || 약속 || 테텔로츠 || 창작된 언어 ||
|-
| Maisering || 상담 || 마이스링 || 일본어의 マイスリー와 カウンセリング의 혼성어||
|}
5aae6697fc0410fe61e753c632fd24fd97459522
39
37
2023-11-27T10:02:54Z
朴初隣
2
wikitext
text/x-wiki
{{언어 제작중}}
{{언어 정보
|원어명 = Rira Runà
|언어명 = 고대 루나어
|IPA =
|사용 지역 = 대한민국 (경상도 북부 지방)
|사용 인구 = 1명(본인), 학습자 3명
|사용 문자 = [[라틴 문자]]
|어순 = SVO
|언어 유형 = 굴절/교착어
|언어 계통 = 없음(인공어)
|언어 지향 = 최소주의 인공어
|옛 형태 = 없음
| 방언 = 없음
| ISO 639-1 = 미등록
| ISO 639-2 = 미등록
| ISO 639-3 = 미등록
}}
= 소개 =
2023년 11월 25일부터 만들기 시작해서 아직도 만들고있는 인공어이다.
= 단어 목록 =
{|class="wikitable sortable" width="80%"
! 원어
! 의미
! 발음
! 어원
|-
| Xapan || 교통카드 || 하판 || 창작된 단어||
|-
| Bizy || 신용카드 || 비지 || 창작된 단어||
|-
| Ezy || 쉽다 || 이지 || 영어의 Easy||
|-
| Faya || 불 || 화야 || 영어의 Fire||
|-
| Xauz || 집 || 하우츠 || 영어의 House||
|-
| Jntaneto || 인터넷 || 인타네토 || 일본어의 インターネット||
|-
| Japa || 일본 || 야파 || 영어의 Japan||
|-
| Kakoku || 한국 || 카코쿠 || 일본어의 韓国||
|-
| Kira || 죽다, 죽이다 || 키라 || 영어의 Kill||
|-
| Kisana || 작다 || 키사나 || 일본어의 小さな||
|-
| Ripa || 살다, 생활하다 || 리파 || 창작된 단어||
|-
| Ripepa || 사랑하다, 좋아하다 || 리페파 || 창작된 단어||
|-
| Norey || 노르웨이 || 노레이 || 창작된 단어||
|-
| Nein || 아니다, 틀리다 || 나인 || 독일어의 Nein||
|-
| Pàk || 공원 || 파크 || 영어의 Park||
|-
| Ranáze || 언어 || 라나제 || 창작된 단어||
|-
| Ruña || 민족 || 루냐 || 창작된 단어||
|-
| Runá || 달 || 루나 || 스페인어의 Luna||
|-
| Sarurey || 지하철 || 사루레이 || 영어의 Subway||
|-
| Steliuz || 별 || 스텔리우츠 || 에스페란토어의 Stelo||
|-
| Tore || 기차 || 토레 || 영어의 Train||
|-
| Wata || 물 || 와타 || 영어의 Water||
|-
| Yappa-Tappa || 열차 || 야파 타파 || 창작된 단어||
|-
| Yona-Yona || 승객 || 요나 요나 || 창작된 단어||
|-
| Kakau || 역 || 카카우 || 중국어의 坑口||
|-
| Kora-Kota || 버스 || 코라 코타 || 창작된 단어||
|-
| Onosil || 친구 || 오노실 || 창작된 단어||
|-
| Ruko || (국내)여행 || 루코 || 창작된 단어||
|-
| Torep || (해외)여행 || 토렙 || 영어의 Trip||
|-
| teteloz || 약속 || 테텔로츠 || 창작된 언어 ||
|-
| Maisering || 상담 || 마이스링 || 일본어의 マイスリー와 カウンセリング의 혼성어||
|}
93eae671d30c0f3a6d91a28435dc4a14341a3bab
틀:언어 정보/설명문서
10
21
38
2023-11-27T09:59:16Z
朴初隣
2
새 문서: {| width="100%" style="border:2px solid; background:springgreen" | =사용법= {|class="wikitable" |rowspan="13"|<pre> {{언어 정보 |원어명= |언어명= |IPA= |사용 지역= |사용 인구= |사용 문자= |어순= |언어 유형= |언어 계통= |언어 지향= |옛 형태= |방언= |ISO 639-1= |ISO 639-2= |ISO 639-3= }}</pre> !변수!!설명 |- |원어명||해당 언어의 이름을 해당 언어로 표기한 이름 |- |언어명||해당 언어의 이름. |- |IPA||해...
wikitext
text/x-wiki
{| width="100%" style="border:2px solid; background:springgreen"
|
=사용법=
{|class="wikitable"
|rowspan="13"|<pre>
{{언어 정보
|원어명=
|언어명=
|IPA=
|사용 지역=
|사용 인구=
|사용 문자=
|어순=
|언어 유형=
|언어 계통=
|언어 지향=
|옛 형태=
|방언=
|ISO 639-1=
|ISO 639-2=
|ISO 639-3=
}}</pre>
!변수!!설명
|-
|원어명||해당 언어의 이름을 해당 언어로 표기한 이름
|-
|언어명||해당 언어의 이름.
|-
|IPA||해당 언어의 그 언어로 된 이름의 발음 (국제음성기호)
|-
|사용 지역||인공언어가 사용되는 지역
|-
|사용 인구||인공언어를 사용하는 사람의 수
|-
|사용 문자||해당 언어에서 사용하는 "공식적인" 문자. ([[라틴 문자]], [[키릴 문자]] 등)
|-
|어순||언어의 문장이 이루어지는 순서 (주어-목적어-동사 등)
|-
|언어 유형||언어의 유형 (교착어, 고립어 등)
|-
|언어 계통||인공어의 계통
|-
|언어 지향||해당인공어의 지향점
|-
|옛 형태||
|-
|ISO 639-1~3||해당 언어의 할당 언어코드.
|}
|}<noinclude>
c1c60e230e566c66bb709ca24f79d9ba6866037d
틀:언어 제작중
10
22
40
2023-11-27T10:05:51Z
朴初隣
2
새 문서: <div style=" width: 349px; border: 4px solid #840; background-color: #fc8; border-radius: 4px; padding: 8px; margin: 8px; color: #840; "> <big>'''현재 이 언어는 제작하고 있는 언어고, 지속적으로 수정됩니다.'''</big> </div>
wikitext
text/x-wiki
<div style="
width: 349px;
border: 4px solid #840;
background-color: #fc8;
border-radius: 4px;
padding: 8px;
margin: 8px;
color: #840;
">
<big>'''현재 이 언어는 제작하고 있는 언어고, 지속적으로 수정됩니다.'''</big>
</div>
11489f84d3becfd2ed82ceaf567b9c23e249dbc4
41
40
2023-11-27T10:13:53Z
朴初隣
2
wikitext
text/x-wiki
<div style="
width: 349px;
border: 4px solid #840;
background-color: #fc8;
border-radius: 4px;
padding: 8px;
margin: 8px;
color: #840;
">
<big>'''현재 이 언어는 제작하고 있는 언어고, 그렇기 때문에 지속적으로 수정됩니다.'''</big>
</div>
5721fe17e43dd057cea19b0a75e86167bf07481c
42
41
2023-11-27T10:14:15Z
朴初隣
2
wikitext
text/x-wiki
<div style="
width: 349px;
border: 4px solid #840;
background-color: #fc8;
border-radius: 4px;
padding: 8px;
margin: 8px;
color: #840;
">
<big>'''현재 이 언어는 제작하고 있는 언어이기 때문에 지속적으로 수정됩니다.'''</big>
</div>
13721aaf2efd624a69cb679b26079a401a9af290
Wo Xing Shi
0
23
43
2023-11-27T10:27:42Z
朴初隣
2
[[워씽시 인민 공화국]] 문서로 넘겨주기
wikitext
text/x-wiki
#redirect [[워씽시 인민 공화국]]
bf228b7e7c178d8c138de3811fdcb4fb20546c4f
파일:소련.png
6
24
45
2023-11-28T05:27:42Z
朴初隣
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
46
45
2023-11-28T05:28:21Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
직접 그렸습니다.
ccdadc55e8b0a85f461ce3a09a95c5bff5b4baa8
47
46
2023-11-28T05:28:54Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
관리자가 직접 그렸습니다.
27e672f3b7f54217321363a65bb30dec083416d1
파일:북한.png
6
25
54
2023-11-28T05:36:08Z
朴初隣
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
55
54
2023-11-28T05:37:58Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
관리자가 직접 그렸습니다.
27e672f3b7f54217321363a65bb30dec083416d1
파일:밀키웨이맛.png
6
26
56
2023-11-28T06:08:03Z
朴初隣
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
57
56
2023-11-28T06:09:26Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
관리자가 직접 따라그렸습니다.
원본: [https://namu.wiki/w/%ED%8C%8C%EC%9D%BC:%EB%B0%80%ED%82%A4%EC%9B%A8%EC%9D%B4%EB%A7%9B%20%EC%BF%A0%ED%82%A4%20%EC%8A%A4%ED%83%A0%EB%94%A9.png]
540bc7448d3f64130df490b4f602d95ebbbbf09a
파일:밀키웨이맛.png
6
26
58
57
2023-11-28T06:10:32Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
관리자가 직접 따라그렸습니다.
원본: [https://namu.wiki/w/%ED%8C%8C%EC%9D%BC:%EB%B0%80%ED%82%A4%EC%9B%A8%EC%9D%B4%EB%A7%9B%20%EC%BF%A0%ED%82%A4%20%EC%8A%A4%ED%83%A0%EB%94%A9.png 원본]
eb8812c23a03d2bf8e33b4ad1c358ab42559b956
59
58
2023-11-28T06:13:02Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
관리자가 직접 따라그렸습니다.
원본: [https://namu.wiki/w/%ED%8C%8C%EC%9D%BC:%EB%B0%80%ED%82%A4%EC%9B%A8%EC%9D%B4%EB%A7%9B%20%EC%BF%A0%ED%82%A4%20%EC%8A%A4%ED%83%A0%EB%94%A9.png 1]
[https://cookierunkingdom.fandom.com/wiki/Milky_Way_Cookie/Gallery?file=Milky_way_default.png 2]
6fa22c867040b771a15718d7d68b8e5591f4cc09
파일:떡메 20231128155724.png
6
27
60
2023-11-28T07:21:04Z
朴初隣
2
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
61
60
2023-11-28T07:21:51Z
朴初隣
2
wikitext
text/x-wiki
= 개요 =
관리자가 직접 그렸습니다.
원본: [https://namu.wiki/w/%ED%8C%8C%EC%9D%BC:%EB%B0%80%ED%82%A4%EC%9B%A8%EC%9D%B4%EB%A7%9B%20%EC%BF%A0%ED%82%A4%20%EC%8A%A4%ED%83%A0%EB%94%A9.png 1]
[https://cookierunkingdom.fandom.com/wiki/Milky_Way_Cookie/Gallery?file=Milky_way_default.png 2]
8d7a0a8ba8a19cddf33cd802fea5642f98ab612a
62
61
2023-11-28T07:22:16Z
朴初隣
2
/* 개요 */
wikitext
text/x-wiki
= 개요 =
관리자가 직접 만들었습니다.
원본: [https://namu.wiki/w/%ED%8C%8C%EC%9D%BC:%EB%B0%80%ED%82%A4%EC%9B%A8%EC%9D%B4%EB%A7%9B%20%EC%BF%A0%ED%82%A4%20%EC%8A%A4%ED%83%A0%EB%94%A9.png 1]
[https://cookierunkingdom.fandom.com/wiki/Milky_Way_Cookie/Gallery?file=Milky_way_default.png 2]
9ec372f10e3c9ada30d08739b843d6838eb66cda
틀:흑화
10
28
63
2023-11-28T07:30:39Z
朴初隣
2
새 문서: <onlyinclude>{{알림 상자 |색 = |배경색=#E0FFFF |경계선 = 4px solid #191970 |테두리색= |제목색=#006400 |본문색=#20B2AA |제목=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">지금 누군가가 흑화하고 있습니다.</div> |본문=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">'''어서 구하십시오=)'''</div> |왼쪽 그림 = 무서운 따봉.jpg |왼쪽 그림 크기 = 100px }}</onl...
wikitext
text/x-wiki
<onlyinclude>{{알림 상자
|색 =
|배경색=#E0FFFF
|경계선 = 4px solid #191970
|테두리색=
|제목색=#006400
|본문색=#20B2AA
|제목=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">지금 누군가가 흑화하고 있습니다.</div>
|본문=<div style="text-align:center; width:auto; margin-left:auto; margin-right:auto;">'''어서 구하십시오=)'''</div>
|왼쪽 그림 = 무서운 따봉.jpg
|왼쪽 그림 크기 = 100px
}}</onlyinclude>
55de07ed9156ca278964c7f64dc64f4d6c7e89d9
사용자토론:朴初隣
3
29
64
2023-11-28T07:32:20Z
朴初隣
2
빈 문서를 만듦
wikitext
text/x-wiki
da39a3ee5e6b4b0d3255bfef95601890afd80709
사용자:朴小蓮
2
30
65
2023-11-28T07:49:40Z
朴小蓮
7
새 문서: = 개요 = 루나 위키 관리자가 되고싶은 박소연입니다. = 참고 = 저는 루나 위키의 '박소연' 이라는 닉네임을 가진 분과 일면식도 없는 사이입니다. 헷갈리지 말아주세요.
wikitext
text/x-wiki
= 개요 =
루나 위키 관리자가 되고싶은 박소연입니다.
= 참고 =
저는 루나 위키의 '박소연' 이라는 닉네임을 가진 분과 일면식도 없는 사이입니다.
헷갈리지 말아주세요.
172a79c83a0a2847b77ea9abf6cea0a66b902f7d
틀:알림 상자
10
31
69
2023-11-28T08:13:15Z
朴初隣
2
새 문서: <onlyinclude>{| style="clear: both; width: {{{폭|80%}}}; margin: 0 auto; border-collapse: collapse; background: {{{배경색|#fbfbfb}}}; border: {{{경계선|1px solid #aaa}}}; {{#if:{{{오른쪽색|}}}|border-right: 10px solid {{{오른쪽색|#1e90ff}}}; }}border-left: 10px solid {{{색|#36c}}};" |- {{#ifeq:{{{왼쪽 그림}}}|없음| |{{!}}style="width: 52px; padding: 2px 0px 2px 0.5em; text-align: center;"{{!}}{{{왼쪽 그림 예외|그림:{{{왼쪽 그림|OOjs UI icon i...
wikitext
text/x-wiki
<onlyinclude>{| style="clear: both; width: {{{폭|80%}}}; margin: 0 auto; border-collapse: collapse; background: {{{배경색|#fbfbfb}}}; border: {{{경계선|1px solid #aaa}}}; {{#if:{{{오른쪽색|}}}|border-right: 10px solid {{{오른쪽색|#1e90ff}}}; }}border-left: 10px solid {{{색|#36c}}};"
|-
{{#ifeq:{{{왼쪽 그림}}}|없음| |{{!}}style="width: 52px; padding: 2px 0px 2px 0.5em; text-align: center;"{{!}}{{{왼쪽 그림 예외|[[그림:{{{왼쪽 그림|OOjs UI icon information-progressive.svg}}}|링크=|{{{왼쪽 그림 크기|45px}}}|{{{왼쪽 그림 설명|}}}]]}}}}}
|style="padding: {{{간격|8px}}}; font-size:95%;"|{{#if:{{{제목|}}}|<span style="color:{{{제목색|#000000}}};">'''{{{제목}}}'''<span><br />}}<span style="color:{{{본문색|#000000}}}">{{{본문}}}</span>
{{#if:{{{오른쪽 그림|}}}|{{!}}style="width: 52px; padding: 2px 4px 2px 0px; text-align: center;"{{!}}{{{오른쪽 그림 예외|[[그림:{{{오른쪽 그림| - }}}|링크=|{{{오른쪽 그림 크기|45px}}}|{{{오른쪽 그림 설명|}}}]]}}}}}
|}</onlyinclude>
{| class="wikitable"
! 설명 || 사용
|-
|
* 폭 = 80% (기본 설정)
* 색 = #1e90ff (기본 설정)
* 배경색 = #fbfbfb (기본 설정)
* 경계선 = 1px solid #aaaaaa (기본 설정)
* 왼쪽 그림 = OOjs UI icon information-progressive.svg (기본 설정, ‘없음’으로 설정할 수도 있습니다.)
* 왼쪽 그림 크기 = 45px (기본 설정)
* 왼쪽 그림 설명 = 비우면 안 뜸
* 왼쪽 그림 예외 = 특수한 경우에 쓰임.
* 오른쪽 그림 = 없어도 됨
* 오른쪽 그림 크기 = 45px (기본 설정)
* 오른쪽 그림 설명 = 비우면 안 뜸
* 오른쪽 그림 예외 = 특수한 경우에 쓰임.
* 간격 = 8px (기본 설정)
* 제목색 = #000000 (기본 설정)
* 본문색 = #000000 (기본 설정)
* 제목 =
* 본문 =
||<pre>{{알림 상자
| 폭 =
| 색 =
| 배경색 =
| 경계선 =
| 왼쪽 그림 =
| 왼쪽 그림 크기 =
| 왼쪽 그림 설명 =
| 왼쪽 그림 예외 =
| 오른쪽 그림 =
| 오른쪽 그림 크기 =
| 오른쪽 그림 설명 =
| 오른쪽 그림 예외 =
| 간격 =
| 제목 =
| 본문 =
}}</pre>
|}
78c350300738c9875a08786f8b26e52e943e1fe8
Soviet Union
0
32
70
2023-11-29T07:04:39Z
朴初隣
2
[[소비에트 연방]] 문서로 넘겨주기
wikitext
text/x-wiki
#redirect [[소비에트 연방]]
5b215421d59a350e09e2e60d11a3fa2b6edef9d3
소련
0
33
71
2023-11-29T07:05:29Z
朴初隣
2
[[소비에트 연방]] 문서로 넘겨주기
wikitext
text/x-wiki
#redirect [[소비에트 연방]]
5b215421d59a350e09e2e60d11a3fa2b6edef9d3
소비에트 연방
0
34
72
2023-11-29T07:06:43Z
朴初隣
2
새 문서: {{위키데이터 속성 추적}} {{번역 확장 필요|ru|Союз Советских Социалистических Республик}} {{번역 확장 필요|en|Soviet Union}} {{다른 뜻 넘어옴|USSR|조사=은}} {{소련 표}} '''소비에트 사회주의 공화국 연방''' 또는 '''소비에트 사회주의 공화국 연맹'''<ref>{{뉴스 인용 |저자=편집국 |날짜=1991-08-01 |제목=외교관으로 온 ‘고르비의 한국어 입’ |url=https://www.sisa...
wikitext
text/x-wiki
{{위키데이터 속성 추적}}
{{번역 확장 필요|ru|Союз Советских Социалистических Республик}}
{{번역 확장 필요|en|Soviet Union}}
{{다른 뜻 넘어옴|USSR|조사=은}}
{{소련 표}}
'''소비에트 사회주의 공화국 연방''' 또는 '''소비에트 사회주의 공화국 연맹'''<ref>{{뉴스 인용 |저자=편집국 |날짜=1991-08-01 |제목=외교관으로 온 ‘고르비의 한국어 입’ |url=https://www.sisajournal.com/news/articleView.html?idxno=108831 |뉴스=시사저널 }}</ref><ref>{{뉴스 인용 |성=황 |이름=석호 |날짜=1991-08-19 |제목=주한 소련대사관, 향후사태 관망하며 정상업무 |url=https://imnews.imbc.com/replay/1991/nwdesk/article/1851122_30445.html |뉴스=MBC 뉴스데스크 }}</ref><ref>{{뉴스 인용 |성=정 |이름=지환 |날짜=1991-08-20 |제목=주한소련대사관 정상업무 |url=https://news.kbs.co.kr/news/view.do?ncd=3707214 |뉴스=KBS 뉴스 9 }}</ref>({{llang|ru|Сою́з Сове́тских Социалисти́ческих Респу́блик|소유스 소베츠키흐 소치알리스티체스키흐 레스푸블리크}}, {{문화어|쏘베트사회주의공화국련맹}}), 약칭 '''소비에트 연방'''({{llang|ru|Сове́тский Сою́з|소베츠키 소유스}}) 또는 줄여서 '''소련'''({{llang|ru|СССР|에스에스에스에르}}, {{문화어|쏘련}})은 [[1922년]] [[12월 30일]]부터 [[1991년]] [[12월 26일]]까지 [[유라시아]] 북부에 존재하였던 세계 최초의 [[사회주의]] [[국가]]이다.
1917년 3월에 일어난 [[러시아 2월 혁명]]은 [[러시아 제국]]을 멸망시켰다. 혁명 이후 수립된 [[러시아 임시 정부]]는 1917년 11월에 일어난 [[10월 혁명]]으로 붕괴하였고 [[볼셰비키]]가 [[러시아]]의 정권을 잡았다. 공산주의에 반대하는 [[러시아 백군|백군]]이 반란을 일으켜 [[러시아 내전]]이 일어났지만 [[볼셰비키]]는 내전에서 승리하였다. 1922년 12월 30일 제1차 전연방 소비에트 대회에서 [[러시아 소비에트 연방 사회주의 공화국]], [[자캅카스 소비에트 연방 사회주의 공화국]], [[우크라이나 소비에트 사회주의 공화국]], [[벨로루시 소비에트 사회주의 공화국]]이 통합되어 소비에트 사회주의 공화국 연방이 탄생하였다.
소련의 초대 지도자 [[블라디미르 레닌|레닌]]은 1924년 1월 21일에 사망하였고, [[공산당]] 서기장 [[이오시프 스탈린|스탈린]]이 소련의 새로운 지도자가 되었다. 소련은 스탈린의 경제 정책과 강력한 정치 억압을 통하여 거대한 규모의 산업화를 이루어 내었다. [[제2차 세계 대전]] 중이던 1941년 6월 22일, [[나치 독일]]이 불가침 조약을 파기하고 소련을 침공하여 인류 역사상 가장 거대한 전쟁인 [[대조국전쟁]]이 발발하였다. 소련은 1945년 5월 9일 대조국전쟁에서 승리하였고 1945년 8월 [[소련 대일전 참전|대일전에 참전]]하였다. 소련은 대일전에서도 승리하여 [[제2차 세계 대전의 연합국|제2차 세계 대전의 승전국]]이 되었다. 제2차 세계 대전에서 승리한 이후 소련은 [[미국]]과 함께 세계의 주도권을 두고 다투는 [[초강대국]]이 되었다. 소련과 중앙 유럽 [[위성 국가]]들은 서방 세계에 맞서 [[냉전]] 체계를 구축하였다. 이로 인하여 [[미국]]과 소련을 비롯한 양측 동맹국 사이에서 갈등, 긴장, 경쟁 상태가 이어졌다. 1986년, 소련의 마지막 지도자 [[미하일 고르바초프]]는 [[페레스트로이카]]와 [[글라스노스트]]를 통해 [[소련의 경제]]를 [[중흥]]시키려 하였다. 1991년 8월 [[소련 공산당|공산당]] 보수파가 일으킨 [[8월 쿠데타]]가 소련 국민들의 반발로 실패한 뒤 1991년 12월 25일 미하일 고르바초프가 [[사직|사임]]하면서 소련은 공식적으로 해체되었다.
== 국명과 상징 ==
{{마르크스-레닌주의}}
소비에트 사회주의 공화국 연방 즉, '''소련'''이라는 명칭은 [[소비에트]]({{llang|ru|Совет}})에서 나왔는데, 이는 [[러시아어]]로 '평의회' 또는 '회의'를 뜻한다. 노동자, 농민, 병사의 공동체 조직인 소비에트는 직접민주제, 간접민주제를 거부하고, 인민민주 상향식 선거를 통해 일당제 체제 하에서 평의회 대의원을 선출한다. 작게는 각 생산수단 및 소공동체에서부터 크게는 [[모스크바]]의 [[최고 소비에트]]에 이르기까지 각 계층에 걸쳐 설치되어 있었다. [[마르크스-레닌주의]]의 영향을 받은 이러한 체제는 [[블라디미르 레닌]] 스스로가 자신의 저서인 《무엇을 할 것인가?》에서 [[파리 코뮌]]의 형태와 러시아 특유의 소비에트 제도를 본따서 만든 제도라고 밝혔다. 이러한 체제가 [[카를 마르크스]]가 최초로 주장한 정통 마르크스주의와 조금 다른 점은, [[마르크스-레닌주의]] 소비에트 제도의 경우 노동자, 농민, 혁명가들로 구성된 '혁명적 당'이 장기간 일당 독재를 한다는 것, 그리고 이러한 정치 제도가 하나의 '정통적 체제'로 대변된다는 점에 있다. 정통 마르크스주의의 원형은 '당'을 [[사회주의 혁명]] 이후 [[프롤레타리아 독재]] 시기에 생산 수단의 사회화를 진행하기 위한, 일종의 '민주적 폭력'을 실행하기 위한 체계화 된 조직으로 묘사했고, 이러한 사회주의 체제에서의 정당 독재는 [[공산주의]]에 진입한 후 사라질 것으로 보았다. 하지만 [[마르크스-레닌주의]]에서의 소비에트 제도는 공산당 일당 독재의 장기화했고 이러한 제도를 바탕으로 모든 공산주의적 정책을 실행했다. 학문적으로 보면 소련이 기준에 따라 [[민주주의]]에 들어갈 수 있으나 실질적으로는 소련의 성립기와 말기를 제외하면 [[소련 공산당]]의 일당 독재 체제였다. 현재 소련이 해체된 후, '''구소련'''이라는 명칭을 쓰기도 한다.
=== 국기 ===
{{본문|소련의 국기}}
소련의 국기의 가로와 세로의 비율은 2:1이다. 바탕의 색은 혁명을 상징하는 붉은색이다. 금색의 [[낫과 망치]]는 각각 농민과 노동자를 상징하였고, 그 위의 붉은 별은 5대륙 노동자의 단결을 의미하였다. 1955년에는 낫과 망치의 모양이 기존의 크기보다 조금 작아졌으며, 1980년에는 국기 배경색이 진홍색에서 조금 연한 진홍색으로 변했다.
=== 국장 ===
{{본문|소련의 국장}}
소련의 국장은 1923년에 처음 제정되었으며 소련이 해체된 1991년까지 사용되었다.
국장 가운데에는 지구를 배경으로 금색 [[낫과 망치]]가 그려져 있으며 지구 아래쪽에는 떠오르는 금색 태양이, 지구 위쪽에는 빨간색 별이 그려져 있다.
국장 양쪽을 밀 이삭이 감싸고 있으며 빨간색 리본이 이를 묶고 있다. 빨간색 리본에는 소련의 표어인 "[[만국의 노동자여, 단결하라!]]"라는 문구가 15개 공화국의 언어로 쓰여져 있다.
== 역사 ==
{{본문|소련의 역사}}
{{참고|러시아의 역사}}
=== 러시아 혁명 ===
{{본문|러시아 혁명}}
1917년 [[러시아 2월 혁명]]으로 [[러시아 제국]]의 [[차르]] [[니콜라이 2세]]가 퇴위하였고 [[러시아 제국]]은 멸망하였다. 혁명 이후 성립한 [[러시아 임시 정부|임시 정부]]는 점진적인 개혁을 하려고 하였다. 그러나 1914년 7월 28일 시작된 [[제1차 세계 대전]], 특히 [[독일 제국]]과의 전쟁으로 인하여 사회적 혼란이 가중되었다. 또한 어린이들이 먹을 우유가 모자랄 정도로 심각한 경제난에 시달리고 있었기 때문에, [[블라디미르 레닌|레닌]]이 이끄는 [[볼셰비키]]는 임시 정부에 휴전할 것을 요구하였으나 받아들여지지 않았다.
1917년 11월 7일에 [[블라디미르 레닌|레닌]]의 지도 하에 [[11월 혁명]]이 일어났다. [[블라디미르 레닌|레닌]]이 이끄는 [[볼셰비키]]는 적위군을 조직해 [[러시아 제국]]의 수도인 [[페트로그라드]](지금의 [[상트페테르부르크]])를 장악하였다. [[혁명]]에 반대하는 [[백군]]과 외국 열강이 볼셰비키를 공격해 [[러시아 내전]]이 일어나자 백군 및 외국 열강의 군대에 대항하려고 [[레프 트로츠키]]는 적위군을 [[적군]]으로 개편했다. [[적군]]은 외국 열강과 [[백군]]을 쳐부수고 [[러시아 내전]]에서 승리했으며, 모든 반대파를 숙청해 볼셰비키가 [[러시아]]를 지배하게 되었다.
이어 1922년 12월 30일의 소비에트 대회에서 [[러시아 소비에트 연방 사회주의 공화국]], [[벨로루시 소비에트 사회주의 공화국]], [[우크라이나 소비에트 사회주의 공화국]], [[자캅카스 소비에트 연방 사회주의 공화국]]이 연방에 가입하여 소비에트 사회주의 공화국 연방의 성립이 선언되었다.<ref>Julian Towster. 《Political Power in the U.S.S.R., 1917–1947: The Theory and Structure of Government in the Soviet State》Oxford Univ. Press, 1948. p. 106</ref>
1924년 레닌의 사후 집권한 [[이오시프 스탈린|스탈린]]은 세계 혁명론을 주장하는 [[레프 트로츠키|트로츠키]]와는 달리 [[일국사회주의]]를 내세우며 1928년에는 경제 발전 5개년 계획을 발표하였다. 또한 그 과정에서 [[레프 트로츠키]]를 외국으로 추방하였고, 이후 [[멕시코]]에서 트로츠키를 살해하는 등 반대파를 60~200만여 명 [[숙청]]하였다.
[[파일:Bundesarchiv Bild 183-R80329, Josef Stalin.jpg|섬네일|왼쪽|[[이오시프 스탈린]]]]
=== 제2차 세계 대전 ===
{{본문|동부 전선 (제2차 세계 대전)}}
1933년 1월 [[아돌프 히틀러]]가 [[독일]]의 정권을 잡았고 히틀러가 이끄는 [[나치 독일]]은 [[중앙유럽]] 일대를 [[독일인]]의 생활권({{llang|de|Lebensraum}} <small>레벤스라움</small>)으로 만들어야 한다고 주장했다. 반면 [[이오시프 스탈린|스탈린]]은 [[중앙유럽]], [[동유럽]] 국가를 [[공산주의|공산]]화하여 [[위성 국가]]로 두고 싶어 했는데, 소련과 독일은 결국 중앙유럽의 지배권을 둘러싸고 충돌하게 된다. 1939년 8월 소련과 [[나치 독일]]은 [[독소 불가침조약]]을 맺고, 그 해 9월 1일 나치 독일이 [[폴란드]]를 침공하자 소련도 9월 17일 폴란드를 침공하였고 독일과 소련은 폴란드의 영토를 점령하였다. 이어 소련은 1940년에는 핀란드의 영토를 빼앗았고 [[발트 3국]]까지 탈환하였다. 그러나 1941년 6월 22일 나치 독일은 독소 불가침조약을 파기, 독일과 소련 사이에 전쟁([[동부 유럽 전선 (제2차 세계 대전)|대조국전쟁]])이 발발했다. 그 결과로써 소련은 연합국에 참전하게 되었다. 초기에는 독일군이 우세하여 소련의 수도 [[모스크바]] 근처까지 진격했으나, 쿠르스크 전투 이후 소련군은 전세를 역전시켜 끝내 1945년 4월 30일 나치 독일의 수도 [[베를린]]을 [[베를린 공방전|함락]]시키고 독일과의 전쟁에서 승리했다. 소련은 동부 독일을 점령했고 서부 독일을 점령한 [[프랑스]], [[영국]], [[미국]]과 독일을 분할하여 관리하기로 하였다. 1945년 8월 8일에는 [[얄타 회담]]의 협정에 근거해 소-일 불가침조약을 파기, [[일본 제국]]에 [[만주 전략공세작전|선전포고]]를 하여 일본과 전쟁을 해 승리했다. [[제2차 세계 대전]]에서 승리한 소련은 [[만주국]]도 점령했지만 [[중국공산당]]에게 주었다. 또한 [[북위 38도]]선 이북의 [[한반도]]를 점령하였고, [[사할린]]을 얻을 수 있었다.
[[제2차 세계 대전]]은 전후 소련 정부의 국가 지도 방향을 결정하는 중추적인 역할을 했다. 소련 정부는 많은 공산주의자들이 [[부르주아지|부르주아]]적 사상이라고 평가했던 [[애국주의]]와 [[민족주의]]를 강조하면서 소련인을 하나로 단결시켰다.<ref>김학준(2006), 《러시아사》 개정 2판, 서울 : 대한교과서</ref> 그리고 기존에 국교로서 인정하지 않았던 [[러시아 정교회]]의 지위를 회복시켰고, 소련군의 명칭을 [[붉은 군대]]에서 [[소비에트군]]으로, '''국가'''를 국제공산당가인 [[인터내셔널 (노래)|인터내셔널가]]에서 [[소련 찬가]]로 바꾸면서, "[[프롤레타리아]]에게는 조국이 없다."는 공산주의의 기본 이념을 깨뜨렸다.
=== 냉전 ===
{{본문|냉전}}
[[파일:Szent István körút a Falk Miksa (Néphadsereg) utca felől a Honvéd utca felé nézve. A szovjet csapatok ideiglenes kivonulása 1956. október 31-én. Fortepan 24787.jpg|섬네일|오른쪽|[[헝가리 봉기]] 때 [[부다페스트]]로 입성하는 소련군 (1956년)]]
소련의 [[중앙유럽]], [[동유럽]] 점령 이후 중앙유럽과 동유럽 여러 나라에서는 연이어 공산주의 정부가 들어서 차츰 소련의 위성 국가가 되어갔다. 이들은 1955년 [[바르샤바 조약 기구]]를 결성, [[미국]]을 비롯한 자유 진영에 맞서려고 했다. 미국은 이에 대항하기 위해 [[마셜 플랜]]을 발표, [[서유럽]]의 경제 부흥을 도우려고 했다. 또, [[북대서양 조약 기구]]를 창설하여 이 과정에서 양 진영은 대립하게 되었는데, 이로부터 냉전이 시작되었다.
1953년 [[스탈린]]의 사망 이후 등장한 [[니키타 흐루쇼프|흐루쇼프]]는 스탈린 격하운동을 벌여 전체주의 독재 정책을 크게 누그러뜨렸다. 그러나 소련은 여전히 [[경찰국가]]였다.
또한, 1956년에 소련은 [[헝가리 봉기|부다페스트 봉기]]를 무력으로 진압했다.
[[제2차 세계 대전]]에서 소련 붕괴 사이에 [[미국]]과는 직접적인 전쟁이 일어나지는 않았으나, [[베를린 봉쇄]] 등의 적대 행동이나 [[한국전쟁]]이나 [[베트남 전쟁]] 등, 세계 각지에서의 [[대리전쟁]]이라고 하는 형태로 냉전으로 불리는 대립 관계가 형성되었다. 특히 한없는 군비 확장과 또한 [[핵무기|핵]]개발 경쟁은 세계를 핵전쟁의 공포로 몰아넣었다.(1962년의 [[쿠바 위기]] 등).
[[1960년대]]에 들어와 [[니키타 흐루쇼프|흐루쇼프]] 체제가 안정되면서 미국과의 관계는 다소 개선되었다. 그러나 [[니키타 흐루쇼프|흐루쇼프]]의 개혁 노선에 회의적이었던 [[마오쩌둥]](毛澤東, 1893~1976)이 이끄는 [[중화인민공화국|중국]]과의 관계는 반대로 악화되었다.
[[파일:Nixon Kosygin May 1972.jpg|섬네일|왼쪽|[[리처드 닉슨]] [[미국]] 대통령과 [[알렉세이 코시긴]] 소련 수상이 양국간 과학 기술 협정 동의서에 조인하는 모습 (1972년)]]
1964년에 실각한 [[니키타 흐루쇼프|흐루쇼프]]에 이어 [[레오니트 브레즈네프]]가 소련의 지도자가 된 이후, 식료품이나 연료, 생활필수품의 공급 부족으로 국민 생활이 어려워졌다. 1968년 8월에는 체코슬로바키아에서 [[프라하의 봄]]이라고 불리는 민주화 운동이 일어나자 소련은 무력으로 민주화 운동을 진압했다.
=== 아프가니스탄 침공 ===
{{본문|소련의 아프가니스탄 침공}}
1979년 12월 27일에 브레즈네프는 [[아프가니스탄]]에 공산정권을 수립하려고 [[소련의 아프가니스탄 침공|아프가니스탄 침공]]을 실시했지만 이는 모스크바에서 개최되는 [[1980년 하계 올림픽]]에 대한 서방 여러 국가들의 대량 보이콧을 부르게 되었다. 이 전쟁은 1989년까지 계속되어 소련의 국제 사회로부터의 고립을 불렀던 것뿐 아니라, 막대한 전비를 지출했기 때문에 경제를 압박하는 결과를 낳았다.
=== 페레스트로이카 ===
{{본문|페레스트로이카}}
[[파일:Reagan and Gorbachev hold discussions.jpg|섬네일|오른쪽|350px|[[미하일 고르바초프]]와 [[로널드 레이건]]의 회담 (1985년)]]
1982년 11월 브레즈네프가 죽고 [[유리 안드로포프]]가 소련의 지도자가 되었다. 그러나 1984년 2월 안드로포프가 죽고 안드로포프를 승계한 [[콘스탄틴 체르넨코]]마저 1985년 3월에 죽자, 54세의 [[미하일 고르바초프]]가 소련의 지도자가 되었다. [[미하일 고르바초프|고르바초프]]는 [[1970년대]] 초부터 시작된 소련의 경제 침체를 타개하기 위해 [[페레스트로이카]](재건, 개혁)와 [[글라스노스트]](정보 공개, 개방)가 진행되었다. 또한 부패한 정치체제의 개혁이 추진되어, 1990년에 지금까지의 [[소련 공산당]] 1당 독재 대신 복수 정당제와 대통령제가 도입되었다.
또한 [[미하일 고르바초프|고르바초프]] 집권 후 소련의 개혁에 영향을 받아 중앙유럽 [[위성 국가]]들에도 민주화 운동이 일어나, 1989년부터 1990년 사이에 [[동독]], [[폴란드]], [[헝가리]], [[체코슬로바키아]] 등 소련의 위성 국가들이 연이어 민주화를 달성한 [[동유럽 혁명]]이 일어났다. 거의 대부분은 무혈 혁명이었지만 [[루마니아]]에서는 유혈 혁명이 일어나 1989년 12월 25일 독재자 [[니콜라에 차우셰스쿠]]가 즉석 재판에서 총살당하였다.
동구권의 붕괴로 냉전은 사실상 종식되었다. 1989년 12월 3일 [[몰타 회담]]에서 [[미하일 고르바초프|고르바초프]]와 [[미국]]의 [[조지 H. W. 부시]] 대통령은 냉전이 종결되었다는 선언을 하였다.
=== 해체 ===
{{본문|소련의 붕괴}}
[[미하일 고르바초프|고르바초프]]는 유럽에 대해 관대한 입장을 보였지만 소련 영토에 대해서는 그렇지 않았는데, 1991년 [[라트비아 소비에트 사회주의 공화국|라트비아]]와 [[리투아니아 소비에트 사회주의 공화국|리투아니아]]에서 유혈 사태가 일어나자 친선 관계를 유지하고자 노력하던 [[조지 H. W. 부시|부시]]조차도 그에게 다시 폭력이 발생하면 경제 관계가 동결될 것이라며 개인적으로 경고하였다.<ref>Goldgeier, p. 27</ref> 변화의 흐름을 받아들여야만 했던 [[미하일 고르바초프|고르바초프]]는 결국 서기장에서 사임하고 [[소련 공산당]]을 해산하였고 소련의 붕괴만은 막으려 하였으나 막지 못하였다. 소련은 1991년 12월 25일 [[미하일 고르바초프|고르바초프]] 대통령이 사임하면서 공식적으로 해체되었다.<ref>Gaddis, 2005, p.256–257.</ref>
== 지리 ==
[[파일:USSR-Tajikistan-Peak Communism.jpg|섬네일|오른쪽|300px|[[타지크 소비에트 사회주의 공화국]]에 있는 소련의 최고봉 [[이스모일소모니봉|콤무니즘봉]], 1989년.]]
소련은 [[유럽]] 대륙의 동부와 [[아시아]] 대륙의 북부를 차지하였다. 그 영토의 거의 대부분은 [[위도|북위]] 50도 이북에 있었다. 또한 소련은 22,402,200 km<sup>2</sup>의 면적을 차지하여 세계 제1의 넓은 영토를 자랑했으며, 그 면적은 [[지구]]의 육지 면적의 1/6에 달하였다. 소련의 거대한 영토는 한대, 아한대로부터 아열대에 이르기까지 걸쳐 있었다. 면적의 11%는 경작지, 16%는 초원지대, 41%는 숲, 32%는 ([[툰드라]]를 포함한) "기타"로 분류되었다.
[[유럽]] 부분은 영토의 4분의 1에 해당하였고, 이 부분은 소련의 문화적, 경제적 중심이었다. 동쪽의 영토는 [[태평양]]에 닿고, 남쪽으로는 [[아프가니스탄]]과 마주 하고 있었다. [[아시아]] 부분의 인구는 유럽 부분 보다 적었다. 소련 서부의 [[그단스크만]]의 [[칼리닌그라드]]로부터 동부의 [[베링 해협]]에 있는 라트마노바 섬 사이의 거리는 1만km가 넘었으며, 소련의 영토는 동서로 1만 킬로미터에 11개의 시간대에 걸쳐 있었으며, 4개의 기후대([[한대 기후]], [[냉대 기후]], [[온대 기후]], [[건조 기후]])가 걸쳐 있었다.
1991년 당시, 소련은 서쪽으로 [[노르웨이]], [[핀란드]], [[폴란드]], [[체코슬로바키아]], [[헝가리]], [[루마니아]], 남쪽으로는 [[터키]], [[이란]], [[아프가니스탄]], [[중화인민공화국|중국]], [[몽골]], [[조선민주주의인민공화국|북한]]과 육상의 국경을 접하고 있었다.
소련의 국경은 세계에서 가장 길어 약 6만 킬로미터에 달하였다. 국경선의 길이 중 3분의 2는 해안선이 차지하고 있었다. 1945년부터 1991년까지 소련의 국경은 [[아프가니스탄]], [[중화인민공화국]], [[체코슬로바키아]], [[핀란드]], [[헝가리]], [[이란]], [[몽골]], [[조선민주주의인민공화국]], [[노르웨이]], [[폴란드]], [[루마니아]], [[터키]]와 접하였다. 해상 국경으로는 [[베링 해협]]으로 [[미국]]의 [[알래스카주]]와 마주보고 있었으며 [[소야 해협]]을 두고 [[일본]]의 [[홋카이도]]와 접해 있었으며, [[북극해]]를 두고 [[덴마크]]의 [[그린란드]] 및 [[캐나다]]와 접했다.
=== 소련의 극점 ===
:{| class="wikitable plainrowheaders"
! scope="col" width="125" | 극점 이름
! scope="col" | 좌표
! scope="col" | 주석
|-valign="top"
| style="background:#b0e0e6;" | [[이스모일소모니봉|콤무니즘봉]]
! scope="row" style="background:#b0e0e6;" | {{좌표|38|55|N|72|01|E}}
| style="background:#b0e0e6;" | 소련의 최고봉(7495m)
|-
| [[아프가니스탄]] 국경
! scope="row" | {{좌표|35|07|45|N|62|18|25|E}}
| 소련의 극남
|-
| style="background:#b0e0e6;" | 북극해
! scope="row" style="background:#b0e0e6;" | {{좌표|81|52|N|58|45|E}}
| style="background:#b0e0e6;" | 소련의 극북
|-
| [[라트마노프섬]]
! scope="row" | {{좌표|65|45|N|169|05|W}}
| 소련의 극동
|-
| [[발트해]] 연안 지역
! scope="row" | {{좌표|54|27|N|19|38|E}}
| 소련의 극서
|-
|}
== 구성국 ==
{{본문|소련의 공화국}}
소련은 15개의 '''소비에트 사회주의 공화국'''(SSR)으로 이루어져 있었다. 이들은 독자적인 헌법, 최고회의를 가지고 있었다.
인구 100만이 되지 않는 민족은 그 규모에 따라 [[자치 공화국]](ASSR), 자치주, 자치관구를 이루었다. 그들도 독자적인 헌법과 최고회의를 가지고 있었다.
소련의 15개의 공화국은 [[소련의 붕괴]] 이후 모두 독립한 국가가 되었다.
[[파일:USSR Republics Numbered Alphabetically.png|섬네일|350px|
1.[[아르메니아 소비에트 사회주의 공화국|아르메니아]]
2.[[아제르바이잔 소비에트 사회주의 공화국|아제르바이잔]]
3.[[벨로루시 소비에트 사회주의 공화국|벨로루시]]
4.[[에스토니아 소비에트 사회주의 공화국|에스토니아]]
5.[[그루지야 소비에트 사회주의 공화국|그루지야]]
6.[[카자흐 소비에트 사회주의 공화국|카자흐]]
7.[[키르기스 소비에트 사회주의 공화국|키르기스]]
8.[[라트비아 소비에트 사회주의 공화국|라트비아]]
9.[[리투아니아 소비에트 사회주의 공화국|리투아니아]]
10.[[몰도바 소비에트 사회주의 공화국|몰도바]]
11.[[러시아 소비에트 연방 사회주의 공화국|러시아]]
12.[[타지크 소비에트 사회주의 공화국|타지크]]
13.[[투르크멘 소비에트 사회주의 공화국|투르크멘]]
14.[[우크라이나 소비에트 사회주의 공화국|우크라이나]]
15.[[우즈베크 소비에트 사회주의 공화국|우즈베크]]
]]
=== 주요 도시 ===
[[파일:StBasile SpasskayaTower Red Square Moscow.hires.jpg|섬네일|오른쪽|220px|[[모스크바]]]]
[[파일:Neva-StPetersburg2.JPG|섬네일|220px|[[레닌그라드]]]]
[[파일:Kreschatik.JPG|섬네일|220px|[[키이우]]]]
[[파일:Yuri Vladivostok 20030804 118.jpg|섬네일|220px|오른쪽|[[블라디보스토크]]]]
* [[모스크바]]
* [[상트페테르부르크|레닌그라드]] (상트페테르부르크)
* [[키이우]]
* [[타슈켄트]]
* [[민스크]]
* [[츠힌발리]]
* [[트빌리시]]
* [[스탈린그라드]] (볼고그라드)
* [[예카테린부르크|스베르들로프스크]] (예카테린부르크)
* [[블라디보스토크]]
* [[하바로프스크]]
* [[크라스노야르스크]]
* [[이르쿠츠크]]
* [[노보시비르스크]]
* [[알마티|알마알타]] (누르술탄)
* [[카잔]]
* [[우파 (도시)|우파]]
* [[첼랴빈스크]]
* [[마그니토고르스크]]
* [[옴스크]]
* [[톰스크]]
* [[페름]]
* [[사마라 (러시아)|쿠이비셰프]] (사마라)
* [[니즈니노브고로드|고리키]] (니즈니노브고르드)
* [[아르항겔스크]]
* [[리가]]
* [[바쿠]]
* [[비슈케크|프룬제]] (비슈케크)
* [[예레반|에리반]] (예레반)
* [[빌뉴스]]
* [[탈린]]
* [[아슈하바트|아슈가바트]] (아슈하바트)
* [[두샨베]]
* [[키시너우|키시뇨프]] (키시너우)
* [[하리코프]]
* [[심페로폴]]
* [[야쿠츠크]]
== 정치 ==
[[파일:Redsquarenight.jpg|섬네일|오른쪽|220px|[[붉은 광장]]]]
[[레닌]] 시대 초기와 [[고르바초프]] 시대 후반의 잠깐을 제외하고는 [[소련 공산당]]의 일당 독재가 이루어졌다. 공산당에 의한 일당 독재, 민주집중제, 계획경제를 기초로 하는 이른바 '마르크스-레닌주의'로 불리는 체제는 노동자, 농민 및 인민 계층이 지지하는 정당에 의한 독재 체제이며, 표현이나 집회, 결사의 자유는 사실상 없었다. 이 때문에, [[카를 마르크스]]가 주창한 기존의 마르크스주의의 이상과는 크게 동떨어져 일반 노동자·농민에게 있어서는 지배자가 [[로마노프 왕조]]의 [[차르]]를 공산당이 대신한 것뿐으로, 정치적으로는 어떤 해방도 되지 않은 체제가 되었다는 평도 있다. 이 때문에 실질적 최고 지도자인 서기장은 「적색 황제」라고도 불렸다. 특히 스탈린 시대에는 숙청으로 많은 사람들이 처형되어 스탈린주의 하의 공산주의는 억압적인 체제와 동일시되었다.
고르바초프 시대 마지막에 잠시 대통령제를 도입한 것을 제외하고는, [[이오시프 스탈린|스탈린]] 시대 이래 소련의 [[국가 원수]]는 소비에트 최고 간부 회의의 의장이었으나, 실권은 소련 공산당 서기장에 있었으며 [[레오니트 브레즈네프]] 이후의 서기장들은 최고 간부 회의 의장을 겸임하였다. 소련 공산당의 일당 독재는 1991년 8월의 쿠데타가 3일 천하에 그친 뒤 [[미하일 고르바초프|고르바초프]] 대통령이 [[소련 공산당]]을 해체하여 막을 내렸다.
{{본문|소련의 지도자}}
[[파일:Nikita Khruchchev Colour (cropped).jpg|섬네일|오른쪽|220px|[[니키타 흐루쇼프]] (1961년)]]
역대 소련의 지도자들은 다음과 같다.
* [[블라디미르 레닌]] (1922년 ~ 1924년)
* [[이오시프 스탈린]] (1924년 ~ 1953년)
* [[게오르기 말렌코프]] (1953년 3월 ~ 1953년 9월)
* [[니키타 흐루쇼프]] (1953년 ~ 1964년)
* [[레오니트 브레즈네프]] (1964년 ~ 1982년)
* [[유리 안드로포프]] (1982년 ~ 1984년)
* [[콘스탄틴 체르넨코]] (1984년 ~ 1985년)
* [[미하일 고르바초프]] (1985년 ~ 1991년)
=== 내각 ===
내각은 소련 최고 집행 기관이면서 최고 회의의 휘하기관이다. 내각의 수장은 총리이며 [[소련 공산당]] 중앙위원회에서 선출한다.
역대 소련의 총리는 다음과 같다.
* [[이오시프 스탈린]] (1941년 5월 6일 ~ 1945년)
* [[이오시프 스탈린]] (1945년 ~ 1953년 3월 5일)
* [[게오르기 말렌코프]] (1953년 ~ 1955년)
* [[니콜라이 불가닌]] (1955년 ~ 1958년)
* [[니키타 흐루쇼프]] (1958년 3월 27일 ~ 1964년 10월 14일)
* [[미하일 고르바초프]] (1985년 ~ 1990년 3월)
* [[발렌틴 파블로프]] (1991년 1월 14일 ~ 1991년 8월 22일)
* [[이반 실라예프]] (1991년 9월 6일 ~ 1991년 12월 25일)
=== 정치국 ===
'''[[소련 공산당 정치국|정치국]]'''([[러시아어]]:Политбюро, 정식 명칭은 소련 공산당 중앙위원회 정치국 [[러시아어]]:Политбюро ЦК КПСС)은 [[소련 공산당]]의 주요 정책을 결정하는 통치체의 기능을 했다. 이것은 소련 공산당 중앙위원회의 주요 구성원들이 참여했다. 1952년부터 1966년 사이에는 간부회라고 불렸다.
1990년에 열린 제28차 당대회에서는 정치국의 권한을 [[최고 소비에트]]로 이양하는 것이 승인되었다. 정치국은 1991년 8월의 쿠데타 실패 직후에 해산되었다.
1987년까지 정치국원은 소련 공산당원만 출마할 수 있었으며, 각 지역에서 하향식 직접 선거를 통해 선출되었다.<ref>JOHN N.HAROAD의 《소련법률제도》 참조</ref> 마지막 정치국원이 선출되었던 1990년 7월 14일에는 [[미콜라스 부로케비시우스|부로케비시우스]], 굼바리아제, [[미하일 고르바초프|고르바초프]], 구렌코, [[알렉산드르 자소호프|자소호프]], [[블라디미르 이바시코|이바시코]], [[이슬람 카리모프|카리모프]], [[페트루 루신쉬|루신쉬]], 마살리예프, 모프시샨, [[아야즈 무탈리보프|무탈리보프]], [[누르술탄 나자르바예프|나자르바예프]], [[사파르무라트 니야조프|니야조프]], 폴로즈코프, 프로코피예프, 루비크스, 세묘노바, 실라리, 소콜로프, [[예고르 스트로예프|스트로예프]], 프롤로프, 셰닌, [[겐나디 야나예프|야나예프]] 등이 정치국원으로 선출되었다.
=== 소련 최고평의회 ===
{{본문|소련 최고평의회}}
[[소련 최고평의회]](Верховный Совет)는 소련의 최고 권력기관으로 법을 만들고 강력한 권한을 가지고 있었다. 상설 기관으로는 최고평의회 상임위원회를 선출했으며, 최고 회의 간부회 의장이 소련 국가 원수였다.
연방평의회(연방원)와 민족평의회(민족원)의 [[양원제]]를 택했으며, 임기는 모두 5년이었다. 연방 회의는 30만 명을 1개 선거구로 한 소선거구제를 택했고, 민족 회의는 각 민족별 인구를 반영해 설치했다. 그 대의원은 소련의 15개 공화국, 11개 자치공화국, 5개의 자치구 및 민족관구에서 선출되었다.
== 경제 ==
{{본문|소련의 경제}}
[[파일:Soviet Union-1989-Coin-0.50.jpg|섬네일|오른쪽|1989년, 소련의 50코페이카 동전]]
소련은 세계 2위(1985년 GDP 2조 2천억 달러, 세계 2위)의 경제 대국이었다. 1인당 GDP는 약 9,300$(1990년 기준, 세계 31위)에 달했다. 소련은 생산 노동자에 한하여 주 35시간 근로제를 채택했으며, 농업에 종사하는 노동자의 경우는 특별한 경우에만 한하여 주 41시간 근로까지 허용했다.<ref>[http://www.departments.bucknell.edu/russian/const/77cons02.html 소련 관련 법]</ref> 경제력에 관련해서 소련은 군수산업, 산업정비기기산업 부문에서 그 규모가 세계 1위였으며, 1986년 고르바초프가 [[혼합 경제]]를 받아들였다. 1965년 이전까지는 소련의 경제는 [[고스플란]]이 통제하였으나, 1965년 이후부터는 고스플란의 역할이 축소되고, 각 생산 수단을 맡은 경영인들의 역할이 중시되었다. 농민들은 [[콜호스]]에서 일을 했다.
[[1920년대]]에 일어난 [[러시아 내전]]은 소련 경제를 피폐화했다. 이러한 상태에서 [[계획 경제]]의 문제점이 크게 부각되자, [[레닌]]이 [[자본주의]]를 도입하여 "[[신경제정책]]"을 실시하였다. 경제가 안정된 후 소련은 다시 [[계획 경제]]로 경제를 운용하였으며, [[1930년대]] 스탈린이 추진한 5개년 계획이 성공하면서 거대한 경제 발전을 이룩했다. [[1930년대]]에 [[대공황]]으로 자본주의 국가들은 심각한 불황에 시달렸지만 소련은 대공황의 영향을 받지 않았고 아주 높은 경제 성장률을 기록하여 1938년에는 세계 2위의 경제 대국이 되었다. 그러나 1925년부터 지속된 [[계획 경제]]는 소련의 농민들을 수탈하여 인명을 대거 희생시켰고, 노동자들에게는 과도한 중노동 부담를 안겼다. 이러한 중노동으로 인해 중앙 계획경제에 대한 노동자들의 불만이 생겼고, 이를 해결하기 위해 1965년에는 [[독립채산제]]를 시행하여 [[혼합 경제]] 체제를 받아들였다.<ref>《마르크스주의의 역사》 참조</ref>
[[제2차 세계 대전]] 종전 이후에도 소련의 경제는 크게 발전했다. 소련은 [[1950년대]]에도 아주 높은 경제 성장률을 기록했고 [[1960년대]]까지 소련은 높은 경제 성장률을 기록했지만 [[1970년대]]부터 소련의 경제는 침체되기 시작했다.
1986년 서기장 [[미하일 고르바초프]](소련의 마지막 서기장이자 소련의 초대 대통령)는 [[혼합 경제]]를 받아들였다.
=== 소비재 ===
[[파일:Lada 1200.jpg|섬네일|오른쪽|220px|대중차 라다(ЛАДА) 1200]]
군사에 투자되는 자금에 비해 국민 생활에 필요한 전자제품이나 소비재의 개발과 생산, 물류의 정비는 소홀히 다루어졌다.
서방의 전자제품이나 [[화장품]], 의류 등의 소비재의 수입, 유통은 원칙적으로 금지되었지만, [[모스크바]] 등의 대도시에만 설치된 [[굼]](GUM) 등의 외화 전용 백화점에서 구입하는 것이 가능했다. 그러나 실제로 그것들을 구입할 수 있는 것은 외국인이나 공산당 간부와 그 가족뿐이었다.
=== 무역 ===
소련의 서방 수출은, 농산물이나 어패류 등의 제1차 상품, 원유나 천연가스 등의 에너지 자원이 대부분이었다. 통화인 [[러시아 루블|루블]] 자체도 국외에서 통화로서의 가치가 낮았기 때문에 서방과의 무역수지는 대개 적자였거나 매우 적었다.
그에 비해 동유럽에 위치한 소비에트 위성국이나 공산국가들과의 무역은 1차 상품이나 에너지 자원은 물론, [[전자제품]]이나 소비재, 공작기계로부터 [[자동차]], [[항공기]] 등의 군사 물자까지도 수출되었다. 또한 그 대부분의 물자가 사실상의 원조품으로서 무상에 가까운 형태로 공급되었다.
=== 공업 ===
[[파일:DneproGES.jpg|오른쪽|섬네일|[[드네프르강]]의 댐 건설, 1934년.]]
[[이오시프 스탈린]]은 1928년부터 5개년 계획을 실시하면서 [[콤비나트]] 공업지대를 만들었다. 유명한 콤비나트로는 드네프르 콤비나트, 앙가라-바이칼 콤비나트, 우랄 콤비나트, 쿠즈네츠크 콤비나트 등이 있다.
소련은 [[중공업]]에 치중하였기 때문에 국민의 생활에 밀접하게 관계되는 경공업 생필품의 질은 서방 세계에 비해 떨어졌다.
소련은 천연가스와 석유를 세계에서 제일 많이 생산하는 국가였다.
=== 농업 ===
소련의 농업은 거의 대부분 [[솝호스]](Sovkhoz)와 [[콜호스]](Kholkoz)를 통해 이루어졌다. 솝호스는 Sovetskoe khozyaistvo(소비에트 농장)의 약칭으로, 거대한 국영농장이었다. 솝호스의 농작물 생산은 국가의 계획에 따라 결정되었다. 생산하는 농작물은 수매 가격까지도 국가의 결정에 따라 정해졌다.
콜호스는 집단농장으로, 1928년에 시작된 [[이오시프 스탈린]]의 제1차 5개년 계획에 따라 만들어졌다. 콜호스는 국유지를 무료로 사용하고 경작을 실시했으며 이에 따라 부농을 의미하는 [[쿨라크]]가 일소되었다. 농기구나 가축 등은 공유되었으며 생산물은 국가에 매각되었다.
각 개인의 주택에 부속된 소규모 농지에서 채소의 재배, [[가축]]의 사육이 가능했고 개인이 생산한 생산물은 자유롭게 판매해도 되었다. 생산력 향상이 농민의 수입 증가에 직접 연결되는 이 자류지 재배는 국영농장보다 높은 효율성을 나타내서 취약한 소련 농업에 도움이 되었다.
== 국경일 ==
{| class="wikitable"
|+ '''국경일'''
|-
! 날짜 !! 한국어 이름 !! 러시아어 이름 !! 변경 사항
|-
| 1월 1일 || [[새해]] || Новый Год ||
|-
| 2월 23일 || [[조국수호의 날|소련군의 날]] || День Советской Армии и Военно-Морского Флота || 1918년 [[붉은 군대]](Красная Армия)의 창설
|-
| 3월 8일 || 국제 [[여성의 날]] || Международный Женский День ||
|-
| 5월 1일 || 국제 [[노동자의 날]] || Первое Мая - День Солидарности Трудящихся ||
|-
| 5월 9일 || [[승리의 날 (5월 9일)|승리의 날]] || День Победы || 1945년 [[나치 독일]]의 항복
|-
| 11월 7일 ~ 11월 8일 || 10월 혁명 || Седьмое Ноября || 1917년 [[10월 혁명]]; День Примирения이라고도 불림.
|}
== 군사 ==
{{본문|소련군}}
[[파일:October Revolution celebration 1983.png|섬네일|300px|1983년 혁명 축하 군사 퍼레이드]]
소련은 [[미국]]을 필두로 하는 [[자본주의]] 진영에 대항하기 위하여, 재래식 무기 이외에도 1949년에 [[원자 폭탄]]을 만들었고 1953년에는 [[수소 폭탄]]을 만들었다. 1961년에는 가장 큰 폭탄 [[차르 봄바]]를 만들었다. 그리고 소련은 1957년 세계 최초로 [[대륙간 탄도 미사일]]을 많이 만들었고 많은 [[핵잠수함]]을 배치하여 막강한 군사력을 유지하고 있었다.
[[파일:Evstafiev-Soviet-soldier-Afghanistan.jpg|섬네일|200px|오른쪽|아프가니스탄에서 싸우는 소련군 병사, 1988년.]]
그러나 이렇게 강력한 군사력을 유지하기 위하여서 막대한 예산이 필요하였으며, 이는 국민들의 생활을 피폐하게 하였다. 그리고 1979년부터 10년 동안 계속된 [[소련의 아프가니스탄 침공|아프가니스탄 침공]]은 소련의 국제사회로부터의 고립을 불러왔다. 또한 [[대한항공 007편|대한항공 007기 격추사건]]과 같은 타국의 민간기 격추 사건을 일으키는 등 관료주의와 권위주의는 서방 여러 나라의 반발을 샀다.
또한 소련은 중앙유럽의 위성 국가들과 [[바르샤바 조약기구]]를 결성하여 [[자본주의]] 진영과 대립하였으며, 동시에 회원국 내에서 일어난 반소, 반공 운동에 무력으로 개입하였다. 소련은 동유럽의 위성 국가들과 [[조선민주주의인민공화국|북한]], [[중화인민공화국]], [[쿠바]]와 [[베트남]] 등 [[사회주의]] 국가에 각종 무기를 수출하였다.
뿐만 아니라 이러한 나라에 무기와 그 기술을 수출하고 장교 등을 파견하여 군사 훈련을 하여, 그들 나라의 군사 기술의 향상에 기여하였으며, 그 중에는 [[스파이]]나 [[테러리스트]]의 양성 등도 포함되어 있었다.
=== 군사 퍼레이드 ===
소련은 자국의 군사력과 [[소련군]]의 위용을 과시하기 위하여 [[붉은 광장]]에서 [[미사일]], [[탱크]]와 [[장갑차]]까지 동원하여 평균적으로 1년에 한 번씩 군사 퍼레이드를 벌였다.
== 과학 ==
소련은 [[1950년대]] 이후 [[미국]]과 나라의 위신을 걸고 [[우주 개발]] 경쟁을 벌였다. 1957년 소련은 최초의 인공위성 [[스푸트니크 1호]]를 쏘아올렸고, 또한 최초의 우주비행사인 [[유리 가가린]], 최초의 여성 우주비행사인 [[발렌티나 테레시코바]] 등을 배출하였다. 소련은 [[보스토크 계획]], [[소유스 계획|소유즈]] 등 일련의 [[소련 우주 프로그램|우주 개발 프로그램]]을 추진하였고, 장기간 운용하는 우주 정거장 [[미르]] 계획을 성공시켰으며, [[우주 개발]] 이외에도 최초의 [[원자력 발전소]]인 [[흑연감속 비등경수 압력관형 원자로]]를 개발하여 [[거대과학]]과 [[순수과학]]에 있어서도 소련은 큰 발자취를 남겼다.
또한 소련은 [[항공기]], [[잠수함]], [[탱크]] 등의 [[병기공학]]도 발달하였다. 대표적인 소련의 전투기로는 [[수호이]], [[미그]]를, 항공기로는 [[일류신]], [[투폴레프]] 등을 들 수 있다. [[제2차 세계 대전]] 중에 「스탈린의 오르간」이라고 불리며 독일군이 두려워한 [[카츄샤 로켓]]도 개발하였다. 또한 [[스텔스]]에도 중요한 이론적 영향을 주었으며, [[테트리스]] 등의 [[컴퓨터 게임]]도 개발하였다.
[[파일:Mirdream_sts76.jpg|섬네일|왼쪽|소련의 [[미르]]]]
그러나 소련의 거대과학에 대한 치중은 군사비와 마찬가지로 경제에 상당한 부담을 주었으며, 항공 우주 산업이나 [[중공업]]을 우선한 나머지 소비재의 제조가 뒷전으로 밀려 민중을 괴롭히게 되었다. 또한 안전과 건강을 고려하지 않은 원자력 개발과 공장 건설로 인하여 [[체르노빌 사고]]와 같은 일도 벌어졌으며, 일부 지역에서는 공장의 유해 물질과 방사능에 의한 환경 오염도 심각하였다.
소련은 [[아카뎀고로도크]] 같은 과학 도시를 건설하기도 하였다. 그러나 소련 당국은 외국으로 기술이 노출되는 것을 꺼려하여 과학 시설이 밀집한 일부 도시는 외국인의 출입이 금지된 [[폐쇄된 도시]]가 되었으며, 이들 도시는 지도에 표시되지 않았다.
== 노동운동 ==
소련은 공산당의 지배력이 약화된 시기인 1989년 말 이후를 제외한 모든 시기 동안 자유 노조를 허용하지 않았으며, 모든 노조는 당에 소속이 된 상태로 운영이 되었다. 또한, 산업노동자들이 패권을 잡은 사회라는 특수성으로 인해 자본주의 사회에서 볼 수 있는 능동적 노동운동<ref>흔히 말하는 노동 복지, 자본주의 사회에서 나타나는 모순을 해결하기 위한 여러 운동</ref>보다는 정부의 생산 목표를 이루기 위한 어용 노동운동이 주를 이루었다. 당은 해당 방침에 따라 공산주의 노동 영웅, 스타하노프 노동자 칭호를 수여하였다. [[스타하노프 운동]]은 [[알렉세이 스타하노프]]로 대표되는 노동자들의 목표초과달성과 노동생산성향상 [[노동운동]]이다.
== 문화 ==
소련의 [[헌법]]은 [[언론]]과 출판의 자유를 보장하고 있었으나, 사실상 [[검열]]에 의해 [[언론]]과 표현의 자유는 제약되었고 출판은 [[공산주의]] 이념을 선전하기 위한 수단이었다. 소련은 [[발레]]와 클래식 음악([[쇼스타코비치]] 등)에서 높은 수준을 유지했다. 정부는 유명한 발레단과 오케스트라를 후원했다. [[예프게니 알렉산드로비치 므라빈스키|므라빈스키]]가 지휘하는 [[상트페테르부르크 필하모닉 오케스트라|레닌그라드 필하모닉 오케스트라]]는 명연주를 남겼다. [[모스크바]]의 [[볼쇼이 극장]]에 소속된 볼쇼이 발레단과 [[레닌그라드]]의 [[마린스키 극장]]에 소속된 마린스키 발레단은 세계 최고의 발레단으로 인정받는다. 고르바초프 시대 이후에는 [[대중문화]]도 크게 발전했다.
* [[소련의 영화]]
* [[소련의 체스]]
* [[소련의 춤]]
* [[소련의 음악]]
* [[소비에트 대백과사전]]
== 복지 ==
[[파일:Soviet blocks, Liepaja.jpg|250px|오른쪽|섬네일|소련 주거정책의 상징인 [[흐루숍카]] 아파트]]
1918년 [[소련 공산당]]은 외국인노동자차별금지법, 아동노동금지법, 양성평등고용법 등을 명문화하는 동시에 이러한 법들이 실질적으로 실행되기 위해 국가가 책임을 지고 노력해야 한다고 적시했다. 또한 법적으로 지정된 공휴일과는 별도로 각 산업지마다 약 연평균 25일의 휴일을 주었다. 1917년 11월 11일 [[소비에트 러시아]] 정부는 최초로 일 8시간, 주 48시간 근무제를 채택했다. 이러한 정책은 당시 일 10시간 내지는 일 12시간 근무제를 채택했던 [[유럽]] 국가들의 노동 정책에 영향을 주었다. 1927년 우익반대파와 스탈린 계파를 중심으로 일 7시간, 주 42시간 근로제가 확립되었다. 1961년 흐루쇼프 집권기에는 주 41시간 근무제로 노동법이 수정되었으며, 광업과 화학공업에 한해서 35시간 근무제가 시행되었다.<ref>《통합노동법》참조</ref> 1966년에는 주 35시간 근로제가 제안되었으나 시행되지 못 했으며, [[니키타 흐루쇼프]]는 1968년 안에 주 근로시간을 최대 30시간까지 낮춘다는 계획안을 발표했지만 달성하지는 못 하였다.<ref>《Hoeffding (1958–59)》, page 396</ref>
[[1920년대]] 후반부터 고성장을 해온 소련 경제로 인해 [[1950년대]] 후반에 들어선 본격적인 복지 제도가 실시된 것이다. [[브레즈네프]] 집권 시기엔 지식·문화·예술에 관련된 복지 정책이 성과를 거두었다. 각 공동체엔 문화예술 시설과 도서 시설이 들어섰다. 이 당시 소련은 서적 출판율이 높았으며, 독서량은 [[1960년대]]에 들어서 역대 최고를 기록했다. 빈부의 차 없이 거의 모든 계층이 문화·예술 활동을 하거나 또는 감상할 수 있었다. 소규모 교육 제도도 발달하여, 추가 교육을 받고싶은 노동계급은 여유 시간을 내서 학점을 이수해 추가적인 학력증진활동을 전개할 수 있었으며, 이는 명목상 무상이었으나 실제 기회는 일부 제한되었다. 또한 이러한 복지는 소련이 붕괴하기 직전인 1990년까지 거의 대부분 이어졌다.<ref>《러시아역사 다이제스트 100》참조</ref>
총 소득 가운데 [[교육]], [[의료]], [[주거]] 등 여러 가지를 보장해주는 사회적 임금의 비중이 높은 편에 속했다. 주거 복지의 경우는 [[1950년대]] 후반부터 짓기 시작한 호당 평균 9평 짜리 5 ~ 7층(층당 평균 8호) 패널형 아파트인 [[흐루숍카]]로 해결하려고 시도했다.<ref>{{웹 인용 |url=http://www.ukraine-observer.com/articles/228/993 |제목=보관된 사본 |확인날짜=2007년 2월 6일 |보존url=https://web.archive.org/web/20070206132350/http://www.ukraine-observer.com/articles/228/993 |보존날짜=2007년 2월 6일 |url-status=dead }}</ref> [[식량]]의 경우는 러시아 소비에트 시절인 1918년부터 각 소행정단위마다 존재하는 식량 배급소에서 일정 식량을 배급했다. 이러한 배급은 1921년 신경제정책을 도입하면서부터 다시 폐지되었고, 1929년에는 식량배급제가 다시 부활했다. 1935년에는 식량 분배 수위를 국가가 조절할 필요가 사라지면서 다시 폐지되었으나, [[제2차 세계 대전]]이 발발하면서 다시 부활하여 [[1940년대]] 후반까지 시행되었다. 소련은 1947년부터 배급제를 공식적으로 내걸지 않았지만, 의류, 옥수수, 비누와 같은 생필품의 경우는 배급으로 분배하는 경우가 잦았으며, 이러한 정책은 소련이 붕괴하는 1991년까지 지속되었다.<ref>《과학 좌파》참조</ref>1989년까지는 이러한 복지 시스템이 어느정도 유지가 되었지만, [[몰타 회담]] 이후 소련은 혼합경제 제도를 절충적으로 받아들임으로 여러 가지 사회적 복지 혜택이 많이 줄어들기 시작했고 1990년에는 공산주의적 요소를 거의 찾아볼 수 없는 형태의 국가가 되었다.<ref>장하준의 《경제학강의》참조</ref><ref>http://www.ajunews.com/view/20140117155241737</ref>
=== 교육 ===
[[파일:Milovice soviet pupils.jpg|섬네일|[[체코슬로바키아]]를 방문한 소련 학생들, 1985년.]]
공산주의 혁명 이후 러시아 내전과 전시 공산주의는 학교 교육에 막대한 타격을 주었다. 1914년 어린이의 91%가 학교에서 교육을 받고 있었으나, 1920년 24.9%에 불과했다.<ref>Russia U.S.S.R.: A Complete Handbook
New York: William Farquhar Payson. 1933. p. 665.</ref>
이에 따라 1926년까지 교육 수준은 퇴보했으며 당시 문자해독율은 56.6%였다. 1923년에 초등학교 4학년까지 의무교육이 시작되었고, 소련의 교육 위원회 초대 위원장인 [[아나톨리 루나차르스키]]는 [[문맹]] 퇴치를 위하여 글을 아는 사람들을 채용하여 글을 가르쳤다. 1937년 센서스에 따르면 문자해독율은 75%로 상승했다.<ref>Fitzpatrick, S. (1994). ''Stalin's peasants: resistance and survival in the Russian village after collectivization''. New York: Oxford University Press. pp. 225-6 & fn. 78 p. 363. {{OCLC|28293091}}.</ref> 1950년대에는 문맹률이 1% 미만으로 낮아졌다.
1970년대 소련의 의무교육은 11년제(초등학교 4년, 중학교 7년)를 채택하고 있었으며, 종합대학은 5년제, [[단과대학]]은 4 ~ 6년제였다. 1981년부터 10학년(발트 국가들은 11학년)까지 의무 교육이 실시되었고, 모든 학교는 정부가 관리하였다.
1986년 소련 인구 1만 명 당 고등교육을 받는 학생의 비율은 181명에 그쳐, 미국(517명)의 1/3에 불과했다.<ref>Pejovich, Svetozar (1990). The Economics of Property Rights: Towards a Theory of Comparative Systems. Springer Science+Business Media. p. 130. ISBN 978-0-7923-0878-2.</ref>
=== 의료 ===
{{인용문|모든 국민은 건강 보호를 요구할 자격이 있으며 소련의 모든 의료 기관에 무료로 입장할 권리가 있다.|1977년 소련 헌법 제42조}}
혁명 이후 1918년에 정부는 "의료는 국가의 관리 하에 둘 것이고, 의료는 무료로 시민들에게 제공될 것이다."라고 하였다. 혁명 이후 소련의 평균 수명은 증가하였다. 그러나 1964년 러시아 남성의 평균 수명이 64.89세의 정점에 도달한 이후 다시 하락하기 시작하여 1984년 61.7세까지 떨어졌으며, 소련이 붕괴될 때까지 정점의 수준을 끝내 회복할 수 없었다.<ref>https://link.springer.com/article/10.1007/s10680-017-9451-3</ref>
소련에서 시행되는 많은 의료 치료법과 진단법은 표준에 못 미쳤으며 (종종 어떤 의료 검사도 하지 않고 환자를 면담하기만 한 상태로 의사가 진단을 내렸다.) 의료 서비스 제공자가 제공하는 치료 표준이 떨어져서 수술로 인한 감염의 위험이 높았다. 소련의 보건 의료 시스템은 의료 장비, 의약품 및 진단용 화학 물질의 부족으로 어려움을 겪었으며, 서구 세계에서 사용할 수 있는 수많은 의약품 및 의료 기술을 결여하고 있었다. 그 시설은 기술 수준이 낮았고 의료 요원은 보잘것 없는 교육을 받았다. 소련 붕괴 직전까지도 소련 의료 시스템의 열악함은 크게 개선되지 못하여 1989년 조사에서는 러시아 병원 중 20%에서 온수 공급이 되지 않고 3%는 냉수 공급조차 되지 않았다. 7%는 전화기조차 갖추지 못했고 17%는 적절한 위생 설비를 갖추지 못했다. 비록 특권층인 노멘클라투라를 위한 특수한 병원과 진료소는 더 높은 수준의 건강 관리를 제공했지만 여전히 서구 표준 이하였다.<ref>{{서적 인용|url=https://www.worldcat.org/title/models-of-disequilibrium-and-shortage-in-centrally-planned-economies-this-vol-resulted-from-the-conference-on-modelling-of-disequilibrium-and-shortage-in-centrally-planned-economies-held-in-april-1987-at-the-univ-of-birmingham-birmingham-england/oclc/260151881&referer=brief_results|title=Models of disequilibrium and shortage in centrally planned economies|last=|first=|date=|publisher=Chapman and Hall|others=Charemza, W|year=1989|isbn=9780412284205|editor-last=Davis|editor-first=Christopher|location=London|pages=447|language=영어|oclc=260151881}}</ref><ref>{{서적 인용|url=http://public.eblib.com/choice/publicfullrecord.aspx?p=1541466|title=Ukraine: Movement without Change, Change without Movement.|last=Dyczok|first=Marta|date=2013|publisher=Taylor and Francis|year=|isbn=9781134432622|location=Hoboken|pages=91|language=영어|oclc=862613488}}</ref><ref>{{서적 인용|url=https://www.worldcat.org/title/daily-life-in-the-soviet-union/oclc/863808526&referer=brief_results|title=Daily life in the Soviet Union|last=Eaton|first=Katherine Bliss|date=|publisher=Greenwood Press|year=2004|isbn=9780313316289|location=Westport, Conn.|pages=191|language=영어|oclc=863808526}}</ref>
== 스포츠 ==
소련의 스포츠는 모두 국가에 의해 운영되었고 자유주의 국가에서 볼 수 있는 운동선수가 프로모터가 기획하는 운동 경기에서 나감으로써 관객에게 즐거움을 주고 이윤을 얻는 [[상업]]적 스포츠(프로 스포츠)는 존재하지 않았지만 소련은 국위 선양을 위해 스포츠, 특히 [[올림픽]]에서 좋은 성적을 내고자 했다. 그래서 소련은 국가의 선수 육성 프로그램으로 선수를 육성했고, 소련의 운동 선수들은 올림픽에서 많은 금메달을 획득했다. 이에 따라 당이 후원하는 풀타임 아마추어 운동선수의 범람은 올림픽 대회가 과거에 가졌던 순수 아마추어 스포츠맨십의 이상을 쇠퇴시켰다.
소련은 [[축구]], [[농구]], [[배구]], [[필드하키|하키]], [[아이스하키]], [[기계 체조]] 강국이었다. 소련이 참가한 마지막 올림픽이었던 [[1988년 하계 올림픽]]에서 소련은 스포츠 강국 [[동독]]과 [[미국]]을 크게 앞서며 55개의 금메달로 압도적인 1위를 하였다.
1980년 소련은 [[1980년 하계 올림픽]]을 개최하였으나, [[미국]]을 필두로 한 [[자유 민주주의]] 진영은 아프가니스탄 침공에 항의해 이 대회를 보이콧했다. 소련과 공산 진영은 이에 대한 보복으로 [[미국]] [[로스앤젤레스]]에서 개최되는 [[1984년 하계 올림픽]]을 보이콧하였다(표면상의 불참사유는 '선수단의 안전을 보장할 수 없다'는 것). 이 두 올림픽을 두고 "반쪽 대회"라고 한다.
[[1980년 하계 올림픽]]에서는 핀란드 선수가 당시에는 금지되지 않았던 혈액 도핑을 하고 10000M와 5000M 메달리스트가 되었다.<ref>1980년 하계 올림픽에서 공식적으로 금지 약물 복용이 적발된 선수는 없지만 동구권 선수들이 도핑을 했다는 의혹이 있다.</ref><ref>{{저널 인용|url=https://www.economist.com/blogs/graphicdetail/2016/07/daily-chart-15|journal=The Economist|title=Doping violations at the Olympics|accessdate=6 June 2017|date=2016-07-25|archive-url=https://web.archive.org/web/20170809041739/https://www.economist.com/blogs/graphicdetail/2016/07/daily-chart-15|archive-date=9 August 2017|url-status=live|df=dmy-all}}</ref>
소련은 [[FIFA 월드컵|월드컵]]에 7회 출전했으며, 1966년에는 4위를 차지했다. 또한 1956년과 1988년 올림픽 축구에서 금메달을 차지하였다.
== 언론 ==
[[소련 공산당]]의 기관지인 [[프라우다]]와 정부 기관지인 [[이즈베스티야]], 공산 청년 동맹 기관지인 [[콤소몰스카야 프라우다]] 등의 신문이 유명했고 특히 [[콤소몰스카야 프라우다]]는 22,000,000부가 넘는 세계 최대의 발행 부수로 [[기네스 북]]에 등재되었다. 통신사는 1925년에 창설된 국영 [[타스통신]]이 있었다. 대외 방송은 1922년 창설된 [[러시아의 소리|모스크바 라디오]]가 있었다.
소련인은 외국의 방송을 듣는 것이 금지되었고, [[신문]]과 [[라디오]], [[텔레비전]] 같은 보도기관에 대해서는 [[소련 공산당]]이 완벽하게 보도 관제를 했다. 이것은 외국의 큰 뉴스나 [[체르노빌 사고]]나 [[대한항공 007편|대한항공기 격추 사건]]과 같은 큰 사건으로부터 국내의 정치, 경제적인 사건, 당간부의 숙청이나 [[지하철]] 사고, 탄광 사고와 같은 사건에 이르기까지 소련 정부와 공산당에 위해가 되는 보도는 일절 불가능했으며, 만약 보도되어도 정부와 당에 유리하도록 왜곡되었다.
서방 언론의 특파원은 기본적으로 국내를 자유롭게 취재, 보도하는 것이 금지되고 있어 사전에 신청이 필요했다. 또한 취재처의 선택 및 일정은 모두 준비 된 것에 따라야 했다. [[모스크바 올림픽]] 등의 국제적 이벤트나, 외국의 수뇌진이 공식 방문을 할 때 소련을 방문한 보도진에게는 준비된 취재 스케줄이 반드시 제공되었다. 서방의 보도기관에서 일하는 소련인 종업원 역시 당국이 선택하였다. 그들은 서방의 보도기관이나 그 특파원의 행동을 당국에 보고해야만 하였다.
== 인구 ==
[[파일:Population of former USSR.PNG|섬네일|250px|소련의 인구]]
소련은 세계에서 가장 다양한 인종 구성을 보였다. 그 국경 내에 150개 이상의 서로 다른 민족이 살고 있었다. 소련의 인구는 1990년 291,000,000명으로 [[중화인민공화국|중국]], [[인도]]에 이어 당시 세계 제3위였다.
다수를 이루는 민족은 [[러시아인]](50.78%)이고, 다음은 [[우크라이나인]](15.45%), [[우즈베크인]](5.84%)의 순이었다. 그 이외에도 [[벨라루스인]](3.51%), [[카자흐인]](2.85%), [[아제르바이잔인]](2.38%), [[아르메니아인]](1.62%), [[타지크인]](1.48%), [[조지아인]](1.39%), [[몰도바인]](1.17%), [[리투아니아인]](1.07%), [[투르크멘인]](0.95%), [[키르기스인]](0.89%), [[라트비아인]](0.51%), [[에스토니아인]](0.36%), 기타(9.75%: [[타타르인]], [[체첸인]], [[독일인]], [[야쿠트인]], [[바슈키르인]], [[유대인]], [[헝가리인]] 등) 등의 민족이 있었다.
인구 증가율은 [[러시아 소비에트 연방 사회주의 공화국|러시아]]와 [[발트 3국]]([[에스토니아 소비에트 사회주의 공화국|에스토니아]], [[라트비아 소비에트 사회주의 공화국|라트비아]], [[리투아니아 소비에트 사회주의 공화국|리투아니아]])과 [[우크라이나 소비에트 사회주의 공화국|우크라이나]]에서는 낮았던 데 비해, 캅카스 3국([[아르메니아 소비에트 사회주의 공화국|아르메니아]], [[아제르바이잔 소비에트 사회주의 공화국|아제르바이잔]], [[그루지야 소비에트 사회주의 공화국|그루지야]])과 [[몰도바 소비에트 사회주의 공화국|몰도바]]에서는 높았다. 따라서 [[제2차 세계 대전]] 이후 러시아인이 소련 인구에서 차지하는 비중은 차차 낮아져 갔다.
== 언어 ==
{{본문|소련의 언어}}
공식적 언어는 없었으나 사실상 [[러시아어]]가 공용어 역할을 하면서 주로 사용되었다.
== 외교 ==
[[파일:ViewOnRussianMinistryOfForeignAffairsMuilding,Moscow,Russia,2003-05-09.jpeg|섬네일|240px|오른쪽|소련 외무부 청사]]
소련은 [[제2차 세계 대전]] 이후 공산 진영의 맹주였으며, 중앙유럽의 위성 국가 이외에도 [[중남미]]([[쿠바]]), [[중동]]([[남예멘]]), [[아프리카]]([[앙골라]], [[모잠비크]] 등), [[동아시아]] 등에서의 공산정권 수립을 지원했다. 따라서 [[미국]]과 [[일본]], [[대한민국]]을 비롯한 자유 진영과는 대립관계에 있었다.
소련은 [[유엔]]의 원년(元年) 회원국이었으며, [[유엔 안전 보장 이사회]]의 상임 이사국이었다.
=== 동유럽 위성 국가 ===
이들 위성 국가들은 [[제2차 세계 대전]] 이후에 정권을 쓰러뜨리고 인민들이 점령되어 소련의 간섭을 받는 국가가 되었다.
* [[불가리아 인민공화국]]
* [[루마니아 사회주의 공화국]]
* [[폴란드 인민공화국]]
* [[체코슬로바키아]]
* [[헝가리 인민공화국]]
* [[알바니아 사회주의 인민공화국]]
* [[독일 민주 공화국]](동독)
=== 대한민국과의 관계 ===
[[제2차 세계 대전]] 이래 [[대한민국]](남한)과 소련의 관계는 [[조선민주주의인민공화국|북한]]의 수립을 소련이 간접적으로 지원했다는 것과 특히 [[한국 전쟁]]에서 조선민주주의인민공화국을 지원한 소련의 역할 때문에 출발부터 적대적 성격을 가지고 있었다. 소련은 [[한국 전쟁]]에 부분적으로 참전하였고 [[중화인민공화국|중국]]과 함께 정전 회담에 참여하여 [[조선민주주의인민공화국]]을 지지하였다.
[[1970년대]] 이후 [[대한민국]]과 소련의 관계는 점차 누그러져 갔으나, 1978년 4월 21일 [[대한항공]]의 [[보잉 707]]기가 [[무르만스크]] 인근에 강제 착륙당한 사건과 1983년 9월 1일 [[대한항공 007편|대한항공기 격추 사건]]이 벌어졌다.
[[미하일 고르바초프|고르바초프]]의 등장 이후 [[대한민국]]과 소련의 관계는 차츰 해빙되었다. [[1988년 하계 올림픽]]에 소련이 참가하였고, [[노태우]] 정부의 [[북방정책]]에 따라 1990년 6월 대한민국-소련 정상 회담이 열렸으며, 1990년 10월 국교가 수립되었다. 이를 계기로 [[아에로플로트]]가 [[대한민국]]에 취항하였다.
=== 조선민주주의인민공화국과의 관계 ===
1945년 8월 소련군이 한반도 이북에 진주하면서 정치사회적으로 긴밀한 관계를 맺었으며 1948년 9월 9일에 공산정권이 출범하자 가장 먼저 승인하였고 1949년에 [[김일성]]이 [[한국 전쟁]] 지원요청을 위해 모스크바를 방문하여 [[이오시프 스탈린]]과 만났고 1950년 [[한국 전쟁]]에는 직접 군사를 보내 참전하지는 않았지만 [[조선민주주의인민공화국]]에 소련제 첨단 무기와 탱크, 전투기 등을 지원하면서 [[대한민국]]을 간접적으로 침공하는데 일조하였다. 그 해 [[유엔]] 안전보장이사회에서 열렸던 대한(對韓) 지원 결의에서는 유엔 회원국이자 위성국인 [[유고슬라비아 사회주의 연방공화국]], [[폴란드]] 등과 함께 불참 및 기권하였다. 또 [[미국]]과 서방 국가들이 [[대한민국]]에 전투병력을 지원한 것을 두고 공개적으로 비난하며 [[조선민주주의인민공화국]]을 두둔하였다. 1953년 스탈린이 죽고 후임인 [[니키타 흐루쇼프]] 시절부터는 관계가 다소 소원해졌으나 1960년대 [[중화인민공화국]]의 문화대혁명으로 관계가 소원해지면서 관계를 회복하였다. [[미국]]에서 열렸던 [[1984년 하계 올림픽]]에는 [[조선민주주의인민공화국]]과 함께 불참했다. 그러나 [[대한민국]]에서 열렸던 [[1988년 하계 올림픽]]에 소련 정부가 자국 선수단을 파견하고 1990년 [[대한민국]] 소련의 국교 수립과 동서독 통일 이후로 관계가 소원해졌으며 1991년 소련이 해체되고 [[러시아]]연방이 출범하면서 이후에도 관계를 유지하고 있다.
=== 미국과의 관계 ===
공산국가들의 맹주였던 소련은 자본주의 진영의 맹주였던 [[미국]]과는 '[[냉전]]'이라고 하는 형태로 대립해, [[1950년대]]의 [[한국 전쟁]]이나 [[1960년대]]의 [[베트남 전쟁]] 등, [[대리 전쟁]]이라고 하는 간접적인 형태의 군사적 대립을 하고 있었지만, 전면적인 핵전쟁에 대한 공포가 쌍방의 억제력이 되었기 때문에 전면적인 군사적 대립은 없었다.
그러나 [[베를린 봉쇄]]나 [[쿠바 위기]] 등에서는 전면적인 군사적 대립의 일보직전까지 갔으며, [[영공]]을 침범한 미군기의 격추 등 한정적인 군사적 대립이 있었던 것도 사실이다.
이와 같은 대립 관계에 있었음에도 불구하고 정식 국교가 끊어진 적은 없고, 쌍방의 [[수도]]에 대한 민간기의 노선연장을 하고 있었다. 그러나, [[대한항공 007편|대한항공기 격추 사건]]이나 [[소련의 아프가니스탄 침공|아프가니스탄 침공]] 등의 사건이 있었을 때에는, 「제재 조치」로서 민간기의 노선연장이 시한적으로 제한되거나 스파이 사건 등이 표면화되어, 한쪽의 외교관이 국외 추방되면 그에 대한 「보복 조치」로서, 다른 한쪽 국가의 외교관을 맞받아 국외 추방하는 등의 외교적 술책을 하고 있었다.
=== 일본과의 관계 ===
[[일본]]과는 [[제2차 세계 대전]] 이전부터 [[만주국]]과의 국경에서 종종 군사적 충돌을 일으키고 있었다([[노몬한 사건]] 등). 1941년 4월에 소-일 중립 조약이 체결되었지만 1945년 8월 8일에 소련은 이것을 일방적 파기, 일본에 선전 포고를 했다. 또한 일본인 포로를 오랫동안 강제 노동 수용소에 구류했다.
그 후, 1956년에 소-일 공동 선언을 통해 국교가 회복했지만, 일본이 미국의 동맹국인데다가 [[쿠릴 열도 분쟁]]이 해결되지 않았기 때문에 관계 개선은 진전되지 않은 채 냉전이 종결되었다.
=== 중화인민공화국과의 관계 ===
[[국공 내전]]에서 소련의 지원으로 [[중국 공산당]]은 1949년 [[중화인민공화국]]을 건국하였다. 당초에는 협력 관계에 있었지만, [[1950년대]] 후반부터 서서히 관계가 악화되어 [[1960년대]]에는 [[중소 국경 분쟁|국경 분쟁]]이나 사상적인 대립의 문제로 말미암아 중화인민공화국과 소련의 대립이 표면화했다. 양국간의 이와 같은 대립관계는 그 후 [[문화대혁명]]이 종결되는 [[1970년대]] 후반까지 계속되었다. 1980년 소련 모스크바에서 열렸던 하계 올림픽에는 중국이 불참했고 대신 적국이었던 미국 로스엔젤레스에서 열렸던 1984년 하계 올림픽에는 소련이 불참하고 중국이 참가했다.
=== 출국 ===
출국은 망명과 외화 유출을 막는 것을 주된 이유로 당국의 허가가 없는 한 출국은 불가능했다. 또, 자유 진영 국민과의 교제나 [[결혼]]은 사실상 불가능했으며, 심지어 동유럽 소비에트 국민과의 결혼조차도 소련 당국으로부터 다양한 방해를 받았다고 한다.
또한 외국 항로를 운행하는 선박이나 외국에서 연주여행을 하는 악단 등에는, 승무원이나 악단원의 망명을 저지하고 서방 언론 노출을 감시하기 위해서 반드시 공산당의 [[정치장교]]가 동행하고 있었다.
== 종교 ==
{{본문|소련의 종교}}
[[파일:Christ saviour explosion.jpg|섬네일|모스크바 [[구세주 그리스도 대성당|구세주 그리스도 성당]]의 폭파, 1931년.]]
소련은 [[세속 국가]], 즉 헌법상<ref>Статья 52-я [[s:Конституция СССР (1977)|Конституции 1977 года]]: «Гражданам СССР гарантируется свобода совести, то есть право исповедовать любую религию или не исповедовать никакой, отправлять религиозные культы или вести атеистическую пропаганду. Возбуждение вражды и ненависти в связи с религиозными верованиями запрещается. Церковь в СССР отделена от государства и школа — от церкви».</ref> 종교와 정부의 분리를 선언한 국가였다. 처음으로 이 원칙이 선언된 것은 1918년 1월 20일(교회력) СНК РСФСР의 칙령 "정부와 종교, 학교와 종교의 분리에 관하여"<ref>[[s:ru:Декрет об отделении церкви от государства и школы от церкви|Декрет Совета Народных Комиссаров об отделении церкви от государства и школы от церкви]]</ref>에서이다. 교회가 정부 및 공립학교로부터 분리되어야 하며, 법인으로서의 권리와 소유권이 없으며 인민의 개인적인 일로 취급되어야 한다는 법령이었다.
소련 공산당은 공개적으로 '종교적 편견'의 소멸을 그 임무로 삼을 것임을 선언했다.<ref name="Decisions">[http://istrorijarossii.narod.ru/oreligii.htm Решения КПСС и Советского государства о религии и церкви]</ref> 1939년까지 행정 절차에 따라 정부기관, 특히 NKVD가 '종교적 삶 청산정책'을 실시했다.<ref>[http://www.religare.ru/2_52780.html Церковь и КГБ] religare.ru</ref> 이후 종교 정책은 보다 차별적으로 바뀌었다.
1920년대 초반 소비에트 정권은 많은 정교회 성당을 파괴했다. 특히 모스크바의 [[구세주 그리스도 대성당|구세주 그리스도 성당]]이 있으며, 16세기에 세워진 모스크바 크렘린 내 몇몇 수도원, 그리고 러시아 전역에서 수십개의 성당을 파괴했다. 1925년부터 1947년까지 소련에선 대중사회조직 '무신론자 투쟁 연합'이 있었다. (1929년 6월까지의 명칭은 '무신론자 연합'.) 또한 출판사 '무신론자', 이후 '국립반종교문학출판사'(ГАИЗ)가 활동했다.
이러한 무신론적 세계관은 당기관과 정부기관에 의해 지지되고 홍보되었으며, 대학에서는 '과학적 무신론'이란 원칙을 가르쳤다.
1943년 소련에는 총대주교좌가 복원되었으며, 소비에트 정부의 옹호 아래 세르게이 총대주교가 취임했다. 이때부터 모든 합법적 종교활동은 두 정부기관의 직접적이고 공개적인 감독 하에 이루어졌는데, 이는 1965년 12월 [[소련 장관평의회]] 산하의 [[종교평의회]]로 통합되었다.
소련에서 러시아 정교의 최종적인 복권은 페레스트로이카의 시기, 1988년 정부 차원에서 루스의 세례 1000주년을 기념했을 때 이루어졌다.
공식적으로 무신론을 내세운 소련 정부의 정책과는 다르게, 당시의 자료에 따르면 소련 국민의 1/3이 종교를 가지고 있었다. 그 중 절대다수는 [[기독교]](대부분 [[러시아 정교회]], 일부는 [[로마 가톨릭]]과 [[침례교]], [[루터교]], [[오순절교회]] 등의 [[개신교]] 교파) 및 [[이슬람교]](대부분 [[수니파]], [[아제르바이잔인]]은 [[시아파]])를 신봉하였다. 소수의 [[유대교]], [[불교]], [[라마교]], [[샤머니즘]] 신자도 있었다.
{{참고|종교평의회(러시아)|러시아 정교회#구 소비에트 연방 시절의 박해|설명=더 자세한 정보는}}
== 치안 ==
소련은 현행범으로 체포된 중범죄자에 대해 재판 과정없이 총살형을 시행하는 국가였으며, 범죄에 대한 처벌이 매우 강한 나라 중 하나였다. 또한 사회보장정책이 광범위하게 보장되는 소련 사회에서 자연인이 범죄인으로 되는 일은 극히 드물었다. 이러한 특징으로 인해 소련 사회는 범죄율이 매우 낮고, 치안이 강한 사회로 평가되었다. 하지만, 1987년부터 [[고르바초프]]의 [[페레스트로이카]], [[글라스노스트]] 정책이 시행됨에 따라 정부 통제력에 상당한 손실이 왔고, 그 결과 치안력이 약해져 범죄 문제에 시시각각 노출되기에 이르렀다. 전문가들은 소련 말기에 일어난 범죄율 급증의 이유로 고르바초프의 개혁 개방 정책으로 인한 범죄 통제력 약화와, 혼합 경제 정책으로 인해 나타난 빈부격차, 사회 불안정을 든다.<ref>[http://newslibrary.naver.com/viewer/index.nhn?articleId=1990111500209223001&editNo=2&printCount=1&publishDate=1990-11-15&officeId=00020&pageNo=23&printNo=21300&publishType=00020 소련 치안 문제]</ref> 1989년에는 이를 해결하기 위해 '특수목적대'를 설립했지만, 큰 효과를 보지 못했다. 1990년에 이르러서 소련 내의 범죄는 중앙정부에서 통제할 수 있는 수위를 벗어났다.<ref>http://newslibrary.naver.com/viewer/index.nhn?articleId=1989092800289104006&editNo=4&printCount=1&publishDate=1989-09-28&officeId=00028&pageNo=4&printNo=424&publishType=00010</ref>
== 프로파간다 ==
프로파간다는 소련이 국민들의 공산주의적 애국심을 키우기 위하여서 만든 일종의 이벤트다. 프로파간다를 위하여 소련은 포스터, 라디오, 책, 미술 등을 이용했다.
소련의 프로파간다, 특히 레닌 시대의 프로파간다는 선구적인 것으로, 몽타주 이론이나 전위파 등이 그 대표적인 위치를 차지하였다.
== 소련의 주요 인물 ==
{| cellpadding="10"
|- valign="top"
|
* [[블라디미르 레닌]]
* [[이오시프 스탈린]]
* [[니키타 흐루쇼프]]
* [[레오니트 브레즈네프]]
* [[유리 안드로포프]]
* [[콘스탄틴 체르넨코]]
* [[미하일 고르바초프]]
* [[게오르기 말렌코프]]
* [[니콜라이 부하린]]
* [[알렉세이 코시긴]]
||
||
* [[클리멘트 보로실로프]]
* [[뱌체슬라프 몰로토프]]
* [[키릴 메레츠코프]]
* [[니콜라이 불가닌]]
* [[미하일 투하쳅스키]]
* [[게오르기 주코프]]
* [[세묜 티모셴코]]
* [[안드레이 그로미코]]
* [[유리 가가린]]
* [[발렌티나 테레시코바]]
* [[미하일 칼리닌]]
|}
== 같이 보기 ==
{{위키공용분류}}
* [[소련의 역사]]
* [[소련의 지도자]]
* [[소련의 군사]]
* [[소련의 경제]]
* [[미하일 고르바초프]]
* [[냉전]]
* [[군비 경쟁]]
* [[핵 군비 경쟁]]
* [[우주 경쟁]]
* [[우주 탐사]]
* [[크렘린]]
* [[국가보안위원회]]
* [[소련 공산당]]
* [[공산주의]]
* [[사회주의]]
* [[레닌의 이름이 붙은 장소]]
* [[스타하노프 운동]]
* [[문화 궁전]]
* [[독립 국가 연합]]
* [[콤소몰]]
* [[피오네르]]
* [[소련의 붕괴]]
* [[블라디미르 레닌]]
* [[이오시프 스탈린]]
* [[마르크스-레닌주의]]
* [[붉은광장]]
* [[볼셰비키]]
* [[코민테른]]
* [[전연방 레닌주의 청년 공산주의자 동맹]]
* [[파리코뮌]]
* [[소비에트]]
== 각주 ==
{{각주}}
== 외부 링크 ==
* {{언어링크|en}} [http://www.soviethistory.org/ The Soviet Union]
{{소련 둘러보기}}
{{소련의 공화국}}
{{소련의 자치 공화국}}
{{러시아의 옛 국가와 독립국}}
{{소련을 구성하던 국가들}}
{{소련의 공화국의 국가}}
{{동구권}}
{{유엔 창립 회원국}}
{{냉전}}
{{전거 통제}}
[[분류:소련| ]]
[[분류:유럽의 옛 나라]]
[[분류:아시아의 옛 나라]]
[[분류:공산주의 국가]]
[[분류:옛 유엔 회원국]]
[[분류:러시아어권]]
[[분류:슬라브어권]]
[[분류:무신론 국가]]
[[분류:냉전기의 정체]]
[[분류:1922년 설립]]
[[분류:1991년 폐지]]
[[분류:옛 사회주의 국가]]
[[분류:초강대국]]
[[분류:초기 소비에트 공화국]]
efc4f36c563350e4cf36bc80075b145008162e61
틀:위키데이터 속성 추적
10
35
73
2023-11-29T07:10:10Z
朴初隣
2
새 문서: <span class="nowrap"><!-- -->{{#if:{{#property:P18}}|[[분류:위키데이터 속성 P18을 사용하는 문서]]}}<!-- -->{{#if:{{#property:P41}}|[[분류:위키데이터 속성 P41을 사용하는 문서]]}}<!-- -->{{#if:{{#property:P94}}|[[분류:위키데이터 속성 P94를 사용하는 문서]]}}<!-- -->{{#if:{{#property:P117}}|[[분류:위키데이터 속성 P117을 사용하는 문서]]}}<!-- -->{{#if:{{#property:P154}}|분류:위키데이터 속성 P154를 사용하...
wikitext
text/x-wiki
<span class="nowrap"><!--
-->{{#if:{{#property:P18}}|[[분류:위키데이터 속성 P18을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P41}}|[[분류:위키데이터 속성 P41을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P94}}|[[분류:위키데이터 속성 P94를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P117}}|[[분류:위키데이터 속성 P117을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P154}}|[[분류:위키데이터 속성 P154를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P242}}|[[분류:위키데이터 속성 P242를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P373}}|[[분류:위키데이터 속성 P373을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P213}}|[[분류:위키데이터 속성 P213을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P227}}|[[분류:위키데이터 속성 P227을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P244}}|[[분류:위키데이터 속성 P244를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P245}}|[[분류:위키데이터 속성 P245를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P268}}|[[분류:위키데이터 속성 P268을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P269}}|[[분류:위키데이터 속성 P269를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P271}}|[[분류:위키데이터 속성 P271을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P347}}|[[분류:위키데이터 속성 P347을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P349}}|[[분류:위키데이터 속성 P349를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P350}}|[[분류:위키데이터 속성 P350을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P380}}|[[분류:위키데이터 속성 P380을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P396}}|[[분류:위키데이터 속성 P396을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P409}}|[[분류:위키데이터 속성 P409를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P428}}|[[분류:위키데이터 속성 P428을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P434}}|[[분류:위키데이터 속성 P434를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P435}}|[[분류:위키데이터 속성 P435를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P436}}|[[분류:위키데이터 속성 P436을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P454}}|[[분류:위키데이터 속성 P454를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P496}}|[[분류:위키데이터 속성 P496을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P549}}|[[분류:위키데이터 속성 P549를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P650}}|[[분류:위키데이터 속성 P650을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P651}}|[[분류:위키데이터 속성 P651을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P691}}|[[분류:위키데이터 속성 P691을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P781}}|[[분류:위키데이터 속성 P781을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P791}}|[[분류:위키데이터 속성 P791을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P864}}|[[분류:위키데이터 속성 P864를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P865}}|[[분류:위키데이터 속성 P865를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P886}}|[[분류:위키데이터 속성 P886을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P902}}|[[분류:위키데이터 속성 P902를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P906}}|[[분류:위키데이터 속성 P906을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P947}}|[[분류:위키데이터 속성 P947을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P950}}|[[분류:위키데이터 속성 P950을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P966}}|[[분류:위키데이터 속성 P966을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P982}}|[[분류:위키데이터 속성 P982를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1003}}|[[분류:위키데이터 속성 P1003을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1004}}|[[분류:위키데이터 속성 P1004를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1005}}|[[분류:위키데이터 속성 P1005를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1006}}|[[분류:위키데이터 속성 P1006을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1015}}|[[분류:위키데이터 속성 P1015를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1045}}|[[분류:위키데이터 속성 P1045를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1048}}|[[분류:위키데이터 속성 P1048을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1053}}|[[분류:위키데이터 속성 P1053을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1146}}|[[분류:위키데이터 속성 P1146을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1153}}|[[분류:위키데이터 속성 P1153을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1157}}|[[분류:위키데이터 속성 P1157을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1225}}|[[분류:위키데이터 속성 P1225를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1248}}|[[분류:위키데이터 속성 P1248을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1273}}|[[분류:위키데이터 속성 P1273을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1315}}|[[분류:위키데이터 속성 P1315를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1323}}|[[분류:위키데이터 속성 P1323을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1330}}|[[분류:위키데이터 속성 P1330을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1362}}|[[분류:위키데이터 속성 P1362를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1368}}|[[분류:위키데이터 속성 P1368을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1375}}|[[분류:위키데이터 속성 P1375를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1407}}|[[분류:위키데이터 속성 P1407을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1556}}|[[분류:위키데이터 속성 P1556을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1584}}|[[분류:위키데이터 속성 P1584를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1695}}|[[분류:위키데이터 속성 P1695를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1707}}|[[분류:위키데이터 속성 P1707을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1736}}|[[분류:위키데이터 속성 P1736을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1886}}|[[분류:위키데이터 속성 P1886을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1890}}|[[분류:위키데이터 속성 P1890을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1907}}|[[분류:위키데이터 속성 P1907을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1908}}|[[분류:위키데이터 속성 P1908을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1960}}|[[분류:위키데이터 속성 P1960을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P1986}}|[[분류:위키데이터 속성 P1986을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2041}}|[[분류:위키데이터 속성 P2041을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2092}}|[[분류:위키데이터 속성 P2092를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2163}}|[[분류:위키데이터 속성 P2163을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2174}}|[[분류:위키데이터 속성 P2174를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2268}}|[[분류:위키데이터 속성 P2268을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2349}}|[[분류:위키데이터 속성 P2349를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2418}}|[[분류:위키데이터 속성 P2418을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2456}}|[[분류:위키데이터 속성 P2456을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2558}}|[[분류:위키데이터 속성 P2558을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2750}}|[[분류:위키데이터 속성 P2750을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P2980}}|[[분류:위키데이터 속성 P2980을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3223}}|[[분류:위키데이터 속성 P3223을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3348}}|[[분류:위키데이터 속성 P3348을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3372}}|[[분류:위키데이터 속성 P3372를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3430}}|[[분류:위키데이터 속성 P3430을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3544}}|[[분류:위키데이터 속성 P3544를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3562}}|[[분류:위키데이터 속성 P3562를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3563}}|[[분류:위키데이터 속성 P3563을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3601}}|[[분류:위키데이터 속성 P3601을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3723}}|[[분류:위키데이터 속성 P3723을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3788}}|[[분류:위키데이터 속성 P3788을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3829}}|[[분류:위키데이터 속성 P3829를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3863}}|[[분류:위키데이터 속성 P3863을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3920}}|[[분류:위키데이터 속성 P3920을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P3993}}|[[분류:위키데이터 속성 P3993을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4038}}|[[분류:위키데이터 속성 P4038을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4055}}|[[분류:위키데이터 속성 P4055를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4114}}|[[분류:위키데이터 속성 P4114를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4143}}|[[분류:위키데이터 속성 P4143을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4186}}|[[분류:위키데이터 속성 P4186을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4423}}|[[분류:위키데이터 속성 P4423을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4534}}|[[분류:위키데이터 속성 P4534를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4535}}|[[분류:위키데이터 속성 P4535를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4581}}|[[분류:위키데이터 속성 P4581을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4613}}|[[분류:위키데이터 속성 P4613을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P4955}}|[[분류:위키데이터 속성 P4955를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5034}}|[[분류:위키데이터 속성 P5034를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5226}}|[[분류:위키데이터 속성 P5226을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5288}}|[[분류:위키데이터 속성 P5288을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5302}}|[[분류:위키데이터 속성 P5302를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5321}}|[[분류:위키데이터 속성 P5321을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5368}}|[[분류:위키데이터 속성 P5368을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5504}}|[[분류:위키데이터 속성 P5504를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5587}}|[[분류:위키데이터 속성 P5587을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P5818}}|[[분류:위키데이터 속성 P5818을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P6213}}|[[분류:위키데이터 속성 P6213을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P6792}}|[[분류:위키데이터 속성 P6792를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P6804}}|[[분류:위키데이터 속성 P6804를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P6829}}|[[분류:위키데이터 속성 P6829를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P7293}}|[[분류:위키데이터 속성 P7293을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P7303}}|[[분류:위키데이터 속성 P7303을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P7314}}|[[분류:위키데이터 속성 P7314를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P7704}}|[[분류:위키데이터 속성 P7704를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P7859}}|[[분류:위키데이터 속성 P7859를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P7902}}|[[분류:위키데이터 속성 P7902를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P8034}}|[[분류:위키데이터 속성 P8034를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P8189}}|[[분류:위키데이터 속성 P8189를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P8381}}|[[분류:위키데이터 속성 P8381을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P8671}}|[[분류:위키데이터 속성 P8671을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P8980}}|[[분류:위키데이터 속성 P8980을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P9070}}|[[분류:위키데이터 속성 P9070을 사용하는 문서]]}}<!--
-->{{#if:{{#property:P9692}}|[[분류:위키데이터 속성 P9692를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P9725}}|[[분류:위키데이터 속성 P9725를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P9984}}|[[분류:위키데이터 속성 P9984를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P10299}}|[[분류:위키데이터 속성 P10299를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P10832}}|[[분류:위키데이터 속성 P10832를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P11249}}|[[분류:위키데이터 속성 P11249를 사용하는 문서]]}}<!--
-->{{#if:{{#property:P11646}}|[[분류:위키데이터 속성 P11646을 사용하는 문서]]}}<!--
--></span><noinclude>
{{설명문서}}
</noinclude>
d16dc5e38b62616547102f805853a9ece11db212
틀:설명문서
10
36
74
2023-11-29T07:11:27Z
朴初隣
2
새 문서: {{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude> <!-- Add categories to the /doc subpage --> </noinclude>
wikitext
text/x-wiki
{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}<noinclude>
<!-- Add categories to the /doc subpage -->
</noinclude>
9e62b964e96c4e3d478edecbfcb3c0338ae8a276
틀:번역 확장 필요
10
37
75
2023-11-29T07:13:33Z
朴初隣
2
새 문서: <onlyinclude>{{{{{|안전풀기:}}}#if:{{{{{|풀기:}}}이름:0|x}} |{{Ambox | 종류 = 안내 | 문제 = '''이 {{#if:{{{section|{{{문단|}}}}}}|문단은|문서는}} {{#if:{{{1|}}}|[[:{{{1}}}:|{{언어 이름|{{{1}}}}} 위키백과]]의 [[:{{{1}}}:{{{2}}}|<span lang="{{{1}}}" xml:lang="{{{1}}}">{{{2}}}</span>]]|다른 언어 위키백과의}} 문서를 번역하여 문서의 내용을 확장할 필요가 있습니다.''' | 해결 = {{숨김|1={{작게|중요한 번역 안내...
wikitext
text/x-wiki
<onlyinclude>{{{{{|안전풀기:}}}#if:{{{{{|풀기:}}}이름:0|x}}
|{{Ambox
| 종류 = 안내
| 문제 = '''이 {{#if:{{{section|{{{문단|}}}}}}|문단은|문서는}} {{#if:{{{1|}}}|[[:{{{1}}}:|{{언어 이름|{{{1}}}}} 위키백과]]의 [[:{{{1}}}:{{{2}}}|<span lang="{{{1}}}" xml:lang="{{{1}}}">{{{2}}}</span>]]|다른 언어 위키백과의}} 문서를 번역하여 문서의 내용을 확장할 필요가 있습니다.'''
| 해결 = {{숨김|1={{작게|중요한 번역 안내를 보려면 [펼치기]를 클릭하십시오.}}|2=<!--
-->* [[위키백과:신뢰할 수 있는 출처|신뢰성 있고]] [[위키백과:확인 가능|확인할 수 있는]] 출처가 제시되도록 번역하여 주십시오.
* 번역을 완료한 후에는 {{틀|번역된 문서}} 틀을 토론창에 표기하여 저작자를 표시하여 주십시오.
* 문맥상 이해를 돕기 위해 관련 문서를 같이 번역해주시는 것이 좋습니다.
* 번역을 확장할 필요가 있는 내용이 포함된 다른 문서를 보고 싶으시다면 [[:분류:번역 확장 필요 문서]]를 참고해주세요.|확장=false|ta1=left}}
|모양 = {{#if:{{{section|{{{문단|}}}}}}|margin-left: 0; margin-right: 0; width: auto;}}
|그림 = {{#if:{{{section|{{{문단|}}}}}}|none|[[파일:Translation to ko arrow.svg|50px|link=]]}}
}}<includeonly>{{#switch:{{NAMESPACE}}|{{ns:2}}=|{{ns:3}}=|{{ns:118}}=|{{ns:119}}=|[[분류:번역 확장 필요 문서]]}}</includeonly>
|{{번역 확장 필요{{{{{|안전풀기:}}}#if:{{{1|}}}|{{{{{|안전풀기:}}}!}}1={{{1}}}}}{{{{{|안전풀기:}}}#if:{{{2|}}}|{{{{{|안전풀기:}}}!}}2={{{2}}}}}{{{{{|안전풀기:}}}#if:{{{문단|}}}|{{{{{|안전풀기:}}}!}}문단={{{문단}}}}}}}
}}</onlyinclude>
<noinclude>{{설명문서}}</noinclude>
3c2b0739612dc162fab49e1d6bd5c30e9d549ab5
틀:Ambox
10
38
76
2023-11-29T07:16:48Z
朴初隣
2
새 문서: {{#invoke:Message box|ambox}}<noinclude> {{설명문서}} <!-- 분류는 /설명문서 하위 문서에 넣어주시고 인터위키는 위키데이터에 넣어 주십시오. --> </noinclude>
wikitext
text/x-wiki
{{#invoke:Message box|ambox}}<noinclude>
{{설명문서}}
<!-- 분류는 /설명문서 하위 문서에 넣어주시고 인터위키는 위키데이터에 넣어 주십시오. -->
</noinclude>
7386d09baa55e3b30bd71c4af3614f4c5798aa99
틀:Fmbox
10
39
77
2023-11-29T07:18:41Z
朴初隣
2
새 문서: {{#invoke:Message box|fmbox}}<noinclude> {{설명문서}} <!-- 분류는 /설명문서 하위 문서에 넣어주시고 인터위키는 위키데이터에 넣어 주십시오. --> </noinclude>
wikitext
text/x-wiki
{{#invoke:Message box|fmbox}}<noinclude>
{{설명문서}}
<!-- 분류는 /설명문서 하위 문서에 넣어주시고 인터위키는 위키데이터에 넣어 주십시오. -->
</noinclude>
631c975c3981797861400dd8a2bd310e357288dd
모듈:Documentation
828
40
78
2023-11-29T07:24:34Z
朴初隣
2
새 문서: -- This module implements {{documentation}}. -- Get required modules. local getArgs = require('Module:Arguments').getArgs -- Get the config table. local cfg = mw.loadData('Module:Documentation/config') local p = {} -- Often-used functions. local ugsub = mw.ustring.gsub ---------------------------------------------------------------------------- -- Helper functions -- -- These are defined as local functions, but are made available in the p -- table for testing purposes. ----...
Scribunto
text/plain
-- This module implements {{documentation}}.
-- Get required modules.
local getArgs = require('Module:Arguments').getArgs
-- Get the config table.
local cfg = mw.loadData('Module:Documentation/config')
local p = {}
-- Often-used functions.
local ugsub = mw.ustring.gsub
----------------------------------------------------------------------------
-- Helper functions
--
-- These are defined as local functions, but are made available in the p
-- table for testing purposes.
----------------------------------------------------------------------------
local function message(cfgKey, valArray, expectType)
--[[
-- Gets a message from the cfg table and formats it if appropriate.
-- The function raises an error if the value from the cfg table is not
-- of the type expectType. The default type for expectType is 'string'.
-- If the table valArray is present, strings such as $1, $2 etc. in the
-- message are substituted with values from the table keys [1], [2] etc.
-- For example, if the message "foo-message" had the value 'Foo $2 bar $1.',
-- message('foo-message', {'baz', 'qux'}) would return "Foo qux bar baz."
--]]
local msg = cfg[cfgKey]
expectType = expectType or 'string'
if type(msg) ~= expectType then
error('message: type error in message cfg.' .. cfgKey .. ' (' .. expectType .. ' expected, got ' .. type(msg) .. ')', 2)
end
if not valArray then
return msg
end
local function getMessageVal(match)
match = tonumber(match)
return valArray[match] or error('message: no value found for key $' .. match .. ' in message cfg.' .. cfgKey, 4)
end
return ugsub(msg, '$([1-9][0-9]*)', getMessageVal)
end
p.message = message
local function makeWikilink(page, display)
if display then
return mw.ustring.format('[[%s|%s]]', page, display)
else
return mw.ustring.format('[[%s]]', page)
end
end
p.makeWikilink = makeWikilink
local function makeCategoryLink(cat, sort)
local catns = mw.site.namespaces[14].name
return makeWikilink(catns .. ':' .. cat, sort)
end
p.makeCategoryLink = makeCategoryLink
local function makeUrlLink(url, display)
return mw.ustring.format('[%s %s]', url, display)
end
p.makeUrlLink = makeUrlLink
local function makeToolbar(...)
local ret = {}
local lim = select('#', ...)
if lim < 1 then
return nil
end
for i = 1, lim do
ret[#ret + 1] = select(i, ...)
end
-- 'documentation-toolbar'
return '<span class="' .. message('toolbar-class') .. '">('
.. table.concat(ret, ' | ') .. ')</span>'
end
p.makeToolbar = makeToolbar
----------------------------------------------------------------------------
-- Argument processing
----------------------------------------------------------------------------
local function makeInvokeFunc(funcName)
return function (frame)
local args = getArgs(frame, {
valueFunc = function (key, value)
if type(value) == 'string' then
value = value:match('^%s*(.-)%s*$') -- Remove whitespace.
if key == 'heading' or value ~= '' then
return value
else
return nil
end
else
return value
end
end
})
return p[funcName](args)
end
end
----------------------------------------------------------------------------
-- Entry points
----------------------------------------------------------------------------
function p.nonexistent(frame)
if mw.title.getCurrentTitle().subpageText == '시험장' then
--return frame:expandTemplate{title = 'module test cases notice'}
return frame:expandTemplate{title = '틀 설명문서/끝상자'}
else
return p.main(frame)
end
end
p.main = makeInvokeFunc('_main')
function p._main(args)
--[[
-- This function defines logic flow for the module.
-- @args - table of arguments passed by the user
--]]
local env = p.getEnvironment(args)
local root = mw.html.create()
root
:wikitext(p._getModuleWikitext(args, env))
:wikitext(p.protectionTemplate(env))
:wikitext(p.sandboxNotice(args, env))
:tag('div')
-- 'documentation-container'
:addClass(message('container'))
:attr('role', 'complementary')
:attr('aria-labelledby', args.heading ~= '' and 'documentation-heading' or nil)
:attr('aria-label', args.heading == '' and 'Documentation' or nil)
:newline()
:tag('div')
-- 'documentation'
:addClass(message('main-div-classes'))
:newline()
:wikitext(p._startBox(args, env))
:wikitext(p._content(args, env))
:tag('div')
-- 'documentation-clear'
:addClass(message('clear'))
:done()
:newline()
:done()
:wikitext(p._endBox(args, env))
:done()
:wikitext(p.addTrackingCategories(env))
-- 'Module:Documentation/styles.css'
return mw.getCurrentFrame():extensionTag (
'templatestyles', '', {src=cfg['templatestyles']
}) .. tostring(root)
end
----------------------------------------------------------------------------
-- Environment settings
----------------------------------------------------------------------------
function p.getEnvironment(args)
--[[
-- Returns a table with information about the environment, including title
-- objects and other namespace- or path-related data.
-- @args - table of arguments passed by the user
--
-- Title objects include:
-- env.title - the page we are making documentation for (usually the current title)
-- env.templateTitle - the template (or module, file, etc.)
-- env.docTitle - the /doc subpage.
-- env.sandboxTitle - the /sandbox subpage.
-- env.testcasesTitle - the /testcases subpage.
--
-- Data includes:
-- env.protectionLevels - the protection levels table of the title object.
-- env.subjectSpace - the number of the title's subject namespace.
-- env.docSpace - the number of the namespace the title puts its documentation in.
-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.
-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.
--
-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value
-- returned will be nil.
--]]
local env, envFuncs = {}, {}
-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value
-- returned by that function is memoized in the env table so that we don't call any of the functions
-- more than once. (Nils won't be memoized.)
setmetatable(env, {
__index = function (t, key)
local envFunc = envFuncs[key]
if envFunc then
local success, val = pcall(envFunc)
if success then
env[key] = val -- Memoise the value.
return val
end
end
return nil
end
})
function envFuncs.title()
-- The title object for the current page, or a test page passed with args.page.
local title
local titleArg = (args.page or args["문서"])
if titleArg then
title = mw.title.new(titleArg)
else
title = mw.title.getCurrentTitle()
end
return title
end
function envFuncs.templateTitle()
--[[
-- The template (or module, etc.) title object.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
-- 'testcases-subpage' --> 'testcases'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local subpage = title.subpageText
if subpage == message('sandbox-subpage') or subpage == message('testcases-subpage') then
return mw.title.makeTitle(subjectSpace, title.baseText)
else
return mw.title.makeTitle(subjectSpace, title.text)
end
end
function envFuncs.docTitle()
--[[
-- Title object of the /doc subpage.
-- Messages:
-- 'doc-subpage' --> 'doc'
--]]
local title = env.title
local docname = args[1] -- User-specified doc page.
local docpage
if docname then
docpage = docname
else
docpage = env.docpageBase .. '/' .. message('doc-subpage')
end
return mw.title.new(docpage)
end
function envFuncs.sandboxTitle()
--[[
-- Title object for the /sandbox subpage.
-- Messages:
-- 'sandbox-subpage' --> 'sandbox'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('sandbox-subpage'))
end
function envFuncs.testcasesTitle()
--[[
-- Title object for the /testcases subpage.
-- Messages:
-- 'testcases-subpage' --> 'testcases'
--]]
return mw.title.new(env.docpageBase .. '/' .. message('testcases-subpage'))
end
function envFuncs.protectionLevels()
-- The protection levels table of the title object.
return env.title.protectionLevels
end
function envFuncs.subjectSpace()
-- The subject namespace number.
return mw.site.namespaces[env.title.namespace].subject.id
end
function envFuncs.docSpace()
-- The documentation namespace number. For most namespaces this is the
-- same as the subject namespace. However, pages in the Article, File,
-- MediaWiki or Category namespaces must have their /doc, /sandbox and
-- /testcases pages in talk space.
local subjectSpace = env.subjectSpace
if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then
return subjectSpace + 1
else
return subjectSpace
end
end
function envFuncs.docpageBase()
-- The base page of the /doc, /sandbox, and /testcases subpages.
-- For some namespaces this is the talk page, rather than the template page.
local templateTitle = env.templateTitle
local docSpace = env.docSpace
local docSpaceText = mw.site.namespaces[docSpace].name
-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.
return docSpaceText .. ':' .. templateTitle.text
end
function envFuncs.compareUrl()
-- Diff link between the sandbox and the main template using [[Special:ComparePages]].
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
if templateTitle.exists and sandboxTitle.exists then
local compareUrl = mw.uri.fullUrl(
'Special:ComparePages',
{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}
)
return tostring(compareUrl)
else
return nil
end
end
return env
end
----------------------------------------------------------------------------
-- Auxiliary templates
----------------------------------------------------------------------------
p.getModuleWikitext = makeInvokeFunc('_getModuleWikitext')
function p._getModuleWikitext(args, env)
local currentTitle = mw.title.getCurrentTitle()
if currentTitle.contentModel ~= 'Scribunto' then return end
pcall(require, currentTitle.prefixedText) -- if it fails, we don't care
local moduleWikitext = package.loaded["Module:Module wikitext"]
if moduleWikitext then
return moduleWikitext.main()
end
end
function p.sandboxNotice(args, env)
--[=[
-- Generates a sandbox notice for display above sandbox pages.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-notice-image' --> '[[File:Sandbox.svg|50px|alt=|link=]]'
-- 'sandbox-notice-blurb' --> 'This is the $1 for $2.'
-- 'sandbox-notice-diff-blurb' --> 'This is the $1 for $2 ($3).'
-- 'sandbox-notice-pagetype-template' --> '[[Wikipedia:Template test cases|template sandbox]] page'
-- 'sandbox-notice-pagetype-module' --> '[[Wikipedia:Template test cases|module sandbox]] page'
-- 'sandbox-notice-pagetype-other' --> 'sandbox page'
-- 'sandbox-notice-compare-link-display' --> 'diff'
-- 'sandbox-notice-testcases-blurb' --> 'See also the companion subpage for $1.'
-- 'sandbox-notice-testcases-link-display' --> 'test cases'
-- 'sandbox-category' --> 'Template sandboxes'
--]=]
local title = env.title
local sandboxTitle = env.sandboxTitle
local templateTitle = env.templateTitle
local subjectSpace = env.subjectSpace
if not (subjectSpace and title and sandboxTitle and templateTitle
and mw.title.equals(title, sandboxTitle)) then
return nil
end
-- Build the table of arguments to pass to {{ombox}}. We need just two fields, "image" and "text".
local omargs = {}
omargs.image = message('sandbox-notice-image')
-- Get the text. We start with the opening blurb, which is something like
-- "This is the template sandbox for [[Template:Foo]] (diff)."
local text = ''
local pagetype
if subjectSpace == 10 then
pagetype = message('sandbox-notice-pagetype-template')
elseif subjectSpace == 828 then
pagetype = message('sandbox-notice-pagetype-module')
else
pagetype = message('sandbox-notice-pagetype-other')
end
local templateLink = makeWikilink(templateTitle.prefixedText)
local compareUrl = env.compareUrl
if compareUrl then
local compareDisplay = message('sandbox-notice-compare-link-display')
local compareLink = makeUrlLink(compareUrl, compareDisplay)
text = text .. message('sandbox-notice-diff-blurb', {pagetype, templateLink, compareLink})
else
text = text .. message('sandbox-notice-blurb', {pagetype, templateLink})
end
-- Get the test cases page blurb if the page exists. This is something like
-- "See also the companion subpage for [[Template:Foo/testcases|test cases]]."
local testcasesTitle = env.testcasesTitle
if testcasesTitle and testcasesTitle.exists then
if testcasesTitle.contentModel == "Scribunto" then
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesRunLinkDisplay = message('sandbox-notice-testcases-run-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
text = text .. '<br />' .. message('sandbox-notice-testcases-run-blurb', {testcasesLink, testcasesRunLink})
else
local testcasesLinkDisplay = message('sandbox-notice-testcases-link-display')
local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)
text = text .. '<br />' .. message('sandbox-notice-testcases-blurb', {testcasesLink})
end
end
-- Add the sandbox to the sandbox category.
omargs.text = text .. makeCategoryLink(message('sandbox-category'))
-- 'documentation-clear'
return '<div class="' .. message('clear') .. '"></div>'
.. require('Module:Message box').main('ombox', omargs)
end
function p.protectionTemplate(env)
-- -- Generates the padlock icon in the top right.
-- -- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- -- Messages:
-- -- 'protection-template' --> 'pp-template'
-- -- 'protection-template-args' --> {docusage = 'yes'}
-- local protectionLevels = env.protectionLevels
-- if not protectionLevels then
-- return nil
-- end
-- local editProt = protectionLevels.edit and protectionLevels.edit[1]
-- local moveProt = protectionLevels.move and protectionLevels.move[1]
-- if editProt then
-- -- The page is edit-protected.
-- return require('Module:Protection banner')._main{
-- message('protection-reason-edit'), small = true
-- }
-- elseif moveProt and moveProt ~= 'autoconfirmed' then
-- -- The page is move-protected but not edit-protected. Exclude move
-- -- protection with the level "autoconfirmed", as this is equivalent to
-- -- no move protection at all.
-- return require('Module:Protection banner')._main{
-- action = 'move', small = true
-- }
-- else
-- return nil
-- end
return mw.getCurrentFrame():expandTemplate{ title = '보호', args = { ['설명문서'] = '예', ['크기'] = '작게' } }
end
----------------------------------------------------------------------------
-- Start box
----------------------------------------------------------------------------
p.startBox = makeInvokeFunc('_startBox')
function p._startBox(args, env)
--[[
-- This function generates the start box.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make
-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox
-- which generate the box HTML.
--]]
env = env or p.getEnvironment(args)
local links
local content = (args.content or args["내용"])
if not content or args[1] then
-- No need to include the links if the documentation is on the template page itself.
local linksData = p.makeStartBoxLinksData(args, env)
if linksData then
links = p.renderStartBoxLinks(linksData)
end
end
-- Generate the start box html.
local data = p.makeStartBoxData(args, env, links)
if data then
return p.renderStartBox(data)
else
-- User specified no heading.
return nil
end
end
function p.makeStartBoxLinksData(args, env)
--[[
-- Does initial processing of data to make the [view] [edit] [history] [purge] links.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'view-link-display' --> 'view'
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'purge-link-display' --> 'purge'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'docpage-preload' --> 'Template:Documentation/preload'
-- 'create-link-display' --> 'create'
--]]
local subjectSpace = env.subjectSpace
local title = env.title
local docTitle = env.docTitle
if not title or not docTitle then
return nil
end
if docTitle.isRedirect then
docTitle = docTitle.redirectTarget
end
local data = {}
data.title = title
data.docTitle = docTitle
-- View, display, edit, and purge links if /doc exists.
data.viewLinkDisplay = message('view-link-display')
data.editLinkDisplay = message('edit-link-display')
data.historyLinkDisplay = message('history-link-display')
data.purgeLinkDisplay = message('purge-link-display')
-- Create link if /doc doesn't exist.
local preload = (args.preload or args["미리싣기"])
if not preload then
if subjectSpace == 828 then -- Module namespace
preload = message('module-preload')
else
preload = message('docpage-preload')
end
end
data.preload = preload
data.createLinkDisplay = message('create-link-display')
return data
end
function p.renderStartBoxLinks(data)
--[[
-- Generates the [view][edit][history][purge] or [create][purge] links from the data table.
-- @data - a table of data generated by p.makeStartBoxLinksData
--]]
local function escapeBrackets(s)
-- Escapes square brackets with HTML entities.
s = s:gsub('%[', '[') -- Replace square brackets with HTML entities.
s = s:gsub('%]', ']')
return s
end
local ret
local docTitle = data.docTitle
local title = data.title
local purgeLink = makeUrlLink(title:fullUrl{action = 'purge'}, data.purgeLinkDisplay)
if docTitle.exists then
local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)
local editLink = makeUrlLink(docTitle:fullUrl{action = 'edit'}, data.editLinkDisplay)
local historyLink = makeUrlLink(docTitle:fullUrl{action = 'history'}, data.historyLinkDisplay)
ret = '[%s] [%s] [%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink)
else
local createLink = makeUrlLink(docTitle:fullUrl{action = 'edit', preload = data.preload}, data.createLinkDisplay)
ret = '[%s] [%s]'
ret = escapeBrackets(ret)
ret = mw.ustring.format(ret, createLink, purgeLink)
end
return ret
end
function p.makeStartBoxData(args, env, links)
--[=[
-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- @links - a string containing the [view][edit][history][purge] links - could be nil if there's an error.
--
-- Messages:
-- 'documentation-icon-wikitext' --> '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- 'template-namespace-heading' --> 'Template documentation'
-- 'module-namespace-heading' --> 'Module documentation'
-- 'file-namespace-heading' --> 'Summary'
-- 'other-namespaces-heading' --> 'Documentation'
-- 'testcases-create-link-display' --> 'create'
--]=]
local subjectSpace = env.subjectSpace
if not subjectSpace then
-- Default to an "other namespaces" namespace, so that we get at least some output
-- if an error occurs.
subjectSpace = 2
end
local data = {}
-- Heading
local heading = (args.heading or args["제목"]) -- Blank values are not removed.
if heading == '' then
-- Don't display the start box if the heading arg is defined but blank.
return nil
end
if heading then
data.heading = heading
elseif subjectSpace == 10 then -- Template namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('template-namespace-heading')
elseif subjectSpace == 828 then -- Module namespace
data.heading = message('documentation-icon-wikitext') .. ' ' .. message('module-namespace-heading')
elseif subjectSpace == 6 then -- File namespace
data.heading = message('file-namespace-heading')
else
data.heading = message('other-namespaces-heading')
end
-- Heading CSS
local headingStyle = (args['heading-style'] or args['제목-모양'])
if headingStyle then
data.headingStyleText = headingStyle
else
-- 'documentation-heading'
data.headingClass = message('main-div-heading-class')
end
-- Data for the [view][edit][history][purge] or [create] links.
if links then
-- 'mw-editsection-like plainlinks'
data.linksClass = message('start-box-link-classes')
data.links = links
end
return data
end
function p.renderStartBox(data)
-- Renders the start box html.
-- @data - a table of data generated by p.makeStartBoxData.
local sbox = mw.html.create('div')
sbox
-- 'documentation-startbox'
:addClass(message('start-box-class'))
:newline()
:tag('span')
:addClass(data.headingClass)
:attr('id', 'documentation-heading')
:cssText(data.headingStyleText)
:wikitext(data.heading)
local links = data.links
if links then
sbox:tag('span')
:addClass(data.linksClass)
:attr('id', data.linksId)
:wikitext(links)
end
return tostring(sbox)
end
----------------------------------------------------------------------------
-- Documentation content
----------------------------------------------------------------------------
p.content = makeInvokeFunc('_content')
function p._content(args, env)
-- Displays the documentation contents
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
local content = (args.content or args["내용"])
if not content and docTitle and docTitle.exists then
content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}
end
-- The line breaks below are necessary so that "=== Headings ===" at the start and end
-- of docs are interpreted correctly.
return '\n' .. (content or '') .. '\n'
end
p.contentTitle = makeInvokeFunc('_contentTitle')
function p._contentTitle(args, env)
env = env or p.getEnvironment(args)
local docTitle = env.docTitle
if not (args.content or args["내용"]) and docTitle and docTitle.exists then
return docTitle.prefixedText
else
return ''
end
end
----------------------------------------------------------------------------
-- End box
----------------------------------------------------------------------------
p.endBox = makeInvokeFunc('_endBox')
function p._endBox(args, env)
--[=[
-- This function generates the end box (also known as the link box).
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
--]=]
-- Get environment data.
env = env or p.getEnvironment(args)
local subjectSpace = env.subjectSpace
local docTitle = env.docTitle
if not subjectSpace or not docTitle then
return nil
end
-- Check whether we should output the end box at all. Add the end
-- box by default if the documentation exists or if we are in the
-- user, module or template namespaces.
local linkBox = (args['link box'] or args["연결상자"])
if linkBox == 'off'
or not (
docTitle.exists
or subjectSpace == 2
or subjectSpace == 828
or subjectSpace == 10
)
then
return nil
end
-- Assemble the link box.
local text = ''
if linkBox then
text = text .. linkBox
else
text = text .. (p.makeDocPageBlurb(args, env) or '') -- "This documentation is transcluded from [[Foo]]."
if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then
-- We are in the user, template or module namespaces.
-- Add sandbox and testcases links.
-- "Editors can experiment in this template's sandbox and testcases pages."
text = text .. (p.makeExperimentBlurb(args, env) or '') .. '<br />'
if not (args.content or args["내용"]) and not args[1] then
-- "Please add categories to the /doc subpage."
-- Don't show this message with inline docs or with an explicitly specified doc page,
-- as then it is unclear where to add the categories.
text = text .. (p.makeCategoriesBlurb(args, env) or '')
end
text = text .. ' ' .. (p.makeSubpagesBlurb(args, env) or '') --"Subpages of this template"
end
end
local box = mw.html.create('div')
-- 'documentation-metadata'
box:attr('role', 'note')
:addClass(message('end-box-class'))
-- 'plainlinks'
:addClass(message('end-box-plainlinks'))
:wikitext(text)
:done()
return '\n' .. tostring(box)
end
function p.makeDocPageBlurb(args, env)
--[=[
-- Makes the blurb "This documentation is transcluded from [[Template:Foo]] (edit, history)".
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'edit-link-display' --> 'edit'
-- 'history-link-display' --> 'history'
-- 'transcluded-from-blurb' -->
-- 'The above [[Wikipedia:Template documentation|documentation]]
-- is [[Help:Transclusion|transcluded]] from $1.'
-- 'module-preload' --> 'Template:Documentation/preload-module-doc'
-- 'create-link-display' --> 'create'
-- 'create-module-doc-blurb' -->
-- 'You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].'
--]=]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local ret
if docTitle.exists then
-- /doc exists; link to it.
local docLink = makeWikilink(docTitle.prefixedText)
local editUrl = docTitle:fullUrl{action = 'edit'}
local editDisplay = message('edit-link-display')
local editLink = makeUrlLink(editUrl, editDisplay)
local historyUrl = docTitle:fullUrl{action = 'history'}
local historyDisplay = message('history-link-display')
local historyLink = makeUrlLink(historyUrl, historyDisplay)
ret = message('transcluded-from-blurb', {docLink})
.. ' '
.. makeToolbar(editLink, historyLink)
.. '<br />'
elseif env.subjectSpace == 828 then
-- /doc does not exist; ask to create it.
local createUrl = docTitle:fullUrl{action = 'edit', preload = message('module-preload')}
local createDisplay = message('create-link-display')
local createLink = makeUrlLink(createUrl, createDisplay)
ret = message('create-module-doc-blurb', {createLink})
.. '<br />'
end
return ret
end
function p.makeExperimentBlurb(args, env)
--[[
-- Renders the text "Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
--
-- Messages:
-- 'sandbox-link-display' --> 'sandbox'
-- 'sandbox-edit-link-display' --> 'edit'
-- 'compare-link-display' --> 'diff'
-- 'module-sandbox-preload' --> 'Template:Documentation/preload-module-sandbox'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'sandbox-create-link-display' --> 'create'
-- 'mirror-edit-summary' --> 'Create sandbox version of $1'
-- 'mirror-link-display' --> 'mirror'
-- 'mirror-link-preload' --> 'Template:Documentation/mirror'
-- 'sandbox-link-display' --> 'sandbox'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display'--> 'edit'
-- 'template-sandbox-preload' --> 'Template:Documentation/preload-sandbox'
-- 'testcases-create-link-display' --> 'create'
-- 'testcases-link-display' --> 'testcases'
-- 'testcases-edit-link-display' --> 'edit'
-- 'module-testcases-preload' --> 'Template:Documentation/preload-module-testcases'
-- 'template-testcases-preload' --> 'Template:Documentation/preload-testcases'
-- 'experiment-blurb-module' --> 'Editors can experiment in this module's $1 and $2 pages.'
-- 'experiment-blurb-template' --> 'Editors can experiment in this template's $1 and $2 pages.'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
local sandboxTitle = env.sandboxTitle
local testcasesTitle = env.testcasesTitle
local templatePage = templateTitle.prefixedText
if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then
return nil
end
-- Make links.
local sandboxLinks, testcasesLinks
if sandboxTitle.exists then
local sandboxPage = sandboxTitle.prefixedText
local sandboxDisplay = message('sandbox-link-display')
local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)
local sandboxEditUrl = sandboxTitle:fullUrl{action = 'edit'}
local sandboxEditDisplay = message('sandbox-edit-link-display')
local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)
local compareUrl = env.compareUrl
local compareLink
if compareUrl then
local compareDisplay = message('compare-link-display')
compareLink = makeUrlLink(compareUrl, compareDisplay)
end
sandboxLinks = sandboxLink .. ' ' .. makeToolbar(sandboxEditLink, compareLink)
else
local sandboxPreload
if subjectSpace == 828 then
sandboxPreload = message('module-sandbox-preload')
else
sandboxPreload = message('template-sandbox-preload')
end
local sandboxCreateUrl = sandboxTitle:fullUrl{action = 'edit', preload = sandboxPreload}
local sandboxCreateDisplay = message('sandbox-create-link-display')
local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)
local mirrorSummary = message('mirror-edit-summary', {makeWikilink(templatePage)})
local mirrorPreload = message('mirror-link-preload')
local mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = mirrorPreload, summary = mirrorSummary}
if subjectSpace == 828 then
mirrorUrl = sandboxTitle:fullUrl{action = 'edit', preload = templateTitle.prefixedText, summary = mirrorSummary}
end
local mirrorDisplay = message('mirror-link-display')
local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)
sandboxLinks = message('sandbox-link-display') .. makeToolbar(sandboxCreateLink, mirrorLink)
end
if testcasesTitle.exists then
local testcasesPage = testcasesTitle.prefixedText
local testcasesDisplay = message('testcases-link-display')
local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)
local testcasesEditUrl = testcasesTitle:fullUrl{action = 'edit'}
local testcasesEditDisplay = message('testcases-edit-link-display')
local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)
-- for Modules, add testcases run link if exists
if testcasesTitle.contentModel == "Scribunto" and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then
local testcasesRunLinkDisplay = message('testcases-run-link-display')
local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink, testcasesRunLink)
else
testcasesLinks = testcasesLink .. ' ' .. makeToolbar(testcasesEditLink)
end
else
local testcasesPreload
if subjectSpace == 828 then
testcasesPreload = message('module-testcases-preload')
else
testcasesPreload = message('template-testcases-preload')
end
local testcasesCreateUrl = testcasesTitle:fullUrl{action = 'edit', preload = testcasesPreload}
local testcasesCreateDisplay = message('testcases-create-link-display')
local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)
testcasesLinks = message('testcases-link-display') .. makeToolbar(testcasesCreateLink)
end
local messageName
if subjectSpace == 828 then
messageName = 'experiment-blurb-module'
else
messageName = 'experiment-blurb-template'
end
return message(messageName, {sandboxLinks, testcasesLinks})
end
function p.makeCategoriesBlurb(args, env)
--[[
-- Generates the text "Please add categories to the /doc subpage."
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'doc-link-display' --> '/doc'
-- 'add-categories-blurb' --> 'Please add categories to the $1 subpage.'
--]]
local docTitle = env.docTitle
if not docTitle then
return nil
end
local docPathLink = makeWikilink(docTitle.prefixedText, message('doc-link-display'))
return message('add-categories-blurb', {docPathLink})
end
function p.makeSubpagesBlurb(args, env)
--[[
-- Generates the "Subpages of this template" link.
-- @args - a table of arguments passed by the user
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'template-pagetype' --> 'template'
-- 'module-pagetype' --> 'module'
-- 'default-pagetype' --> 'page'
-- 'subpages-link-display' --> 'Subpages of this $1'
--]]
local subjectSpace = env.subjectSpace
local templateTitle = env.templateTitle
if not subjectSpace or not templateTitle then
return nil
end
local pagetype
if subjectSpace == 10 then
pagetype = message('template-pagetype')
elseif subjectSpace == 828 then
pagetype = message('module-pagetype')
else
pagetype = message('default-pagetype')
end
local subpagesLink = makeWikilink(
'Special:PrefixIndex/' .. templateTitle.prefixedText .. '/',
message('subpages-link-display', {pagetype})
)
return message('subpages-blurb', {subpagesLink})
end
----------------------------------------------------------------------------
-- Tracking categories
----------------------------------------------------------------------------
function p.addTrackingCategories(env)
--[[
-- Check if {{documentation}} is transcluded on a /doc or /testcases page.
-- @env - environment table containing title objects, etc., generated with p.getEnvironment
-- Messages:
-- 'display-strange-usage-category' --> true
-- 'doc-subpage' --> 'doc'
-- 'testcases-subpage' --> 'testcases'
-- 'strange-usage-category' --> 'Wikipedia pages with strange ((documentation)) usage'
--
-- /testcases pages in the module namespace are not categorised, as they may have
-- {{documentation}} transcluded automatically.
--]]
local title = env.title
local subjectSpace = env.subjectSpace
if not title or not subjectSpace then
return nil
end
local subpage = title.subpageText
local ret = ''
if message('display-strange-usage-category', nil, 'boolean')
and (
subpage == message('doc-subpage')
or subjectSpace ~= 828 and subpage == message('testcases-subpage')
)
then
ret = ret .. makeCategoryLink(message('strange-usage-category'))
end
return ret
end
return p
1a121d433ba57e8086a0d405d32a7ff93e9c6ea2
모듈:Message box
828
41
79
2023-11-29T07:29:37Z
朴初隣
2
새 문서: -- This is a meta-module for producing message box templates, including -- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}. -- Load necessary modules. require('strict') local getArgs local categoryHandler = require('Module:Category handler')._main local yesno = require('Module:Yesno') local localize = mw.loadData('Module:Message box/localize') -- Get a language object for formatDate and ucfirst. local lang = mw.language.getContentLanguage() -----...
Scribunto
text/plain
-- This is a meta-module for producing message box templates, including
-- {{mbox}}, {{ambox}}, {{imbox}}, {{tmbox}}, {{ombox}}, {{cmbox}} and {{fmbox}}.
-- Load necessary modules.
require('strict')
local getArgs
local categoryHandler = require('Module:Category handler')._main
local yesno = require('Module:Yesno')
local localize = mw.loadData('Module:Message box/localize')
-- Get a language object for formatDate and ucfirst.
local lang = mw.language.getContentLanguage()
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
local function getTitleObject(...)
-- Get the title object, passing the function through pcall
-- in case we are over the expensive function count limit.
local success, title = pcall(mw.title.new, ...)
if success then
return title
end
end
local function union(t1, t2)
-- Returns the union of two arrays.
local vals = {}
for i, v in ipairs(t1) do
vals[v] = true
end
for i, v in ipairs(t2) do
vals[v] = true
end
local ret = {}
for k in pairs(vals) do
table.insert(ret, k)
end
table.sort(ret)
return ret
end
local function getArgNums(args, prefix)
local nums = {}
for k, v in pairs(args) do
local num = mw.ustring.match(tostring(k), '^' .. prefix .. '([1-9]%d*)$')
if num then
table.insert(nums, tonumber(num))
end
end
table.sort(nums)
return nums
end
local function getDate(date)
-- convert yyyy-mm or yyyy-mm-dd to 'yyyy년 m월'
local pattern1 = '^(%d%d%d%d)-(%d%d?)$'
local pattern2 = '^(%d%d%d%d)-(%d%d?)-(%d%d?)$'
if date then
local y, m, _
y, m = date:match(pattern1)
if not y then
y, m, _ = date:match(pattern2)
end
local yy, mm = tonumber(y), tonumber(m)
if yy and mm and yy > 2000 and yy < 2100 and mm > 0 and mm < 13 then
return yy .. '년 ' .. mm .. '월'
end
end
return date
end
--------------------------------------------------------------------------------
-- Box class definition
--------------------------------------------------------------------------------
local MessageBox = {}
MessageBox.__index = MessageBox
function MessageBox.new(boxType, args, cfg)
args = args or {}
local obj = {}
-- Set the title object and the namespace.
obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()
-- Set the config for our box type.
obj.cfg = cfg[boxType]
if not obj.cfg then
local ns = obj.title.namespace
-- boxType is "mbox" or invalid input
if ns == 0 then
obj.cfg = cfg.ambox -- main namespace
elseif ns == 6 then
obj.cfg = cfg.imbox -- file namespace
elseif ns == 14 then
obj.cfg = cfg.cmbox -- category namespace
else
local nsTable = mw.site.namespaces[ns]
if nsTable and nsTable.isTalk then
obj.cfg = cfg.tmbox -- any talk namespace
else
obj.cfg = cfg.ombox -- other namespaces or invalid input
end
end
end
-- Set the arguments, and remove all blank arguments except for the ones
-- listed in cfg.allowBlankParams.
do
local newArgs = {}
for k, v in pairs(args) do
if v ~= '' then
newArgs[k] = v
end
end
for i, param in ipairs(obj.cfg.allowBlankParams or {}) do
newArgs[param] = args[param]
end
obj.args = newArgs
end
-- Define internal data structure.
obj.categories = {}
obj.classes = {}
return setmetatable(obj, MessageBox)
end
function MessageBox:addCat(ns, cat, sort)
if not cat then
return nil
end
if sort then
cat = string.format('[[분류:%s|%s]]', cat, sort)
else
cat = string.format('[[분류:%s]]', cat)
end
self.categories[ns] = self.categories[ns] or {}
table.insert(self.categories[ns], cat)
end
function MessageBox:addClass(class)
if not class then
return nil
end
table.insert(self.classes, class)
end
function MessageBox:setParameters()
local args = self.args
local cfg = self.cfg
-- Get type data.
self.type = args.type
local typeData = cfg.types[self.type]
self.invalidTypeError = cfg.showInvalidTypeError
and self.type
and not typeData
typeData = typeData or cfg.types[cfg.default]
self.typeClass = typeData.class
self.typeImage = typeData.image
-- Find if the box has been wrongly substituted.
self.isSubstituted = cfg.substCheck and args.subst == 'SUBST'
-- Find whether we are using a small message box.
self.isSmall = cfg.allowSmall and (
cfg.smallParam and args.small == cfg.smallParam
or not cfg.smallParam and yesno(args.small)
)
-- Add attributes, classes and styles.
self.id = args.id
self:addClass(
cfg.usePlainlinksParam and yesno(args.plainlinks or true) and 'plainlinks'
)
for _, class in ipairs(cfg.classes or {}) do
self:addClass(class)
end
if self.isSmall then
self:addClass(cfg.smallClass or 'mbox-small')
end
self:addClass(self.typeClass)
self:addClass(args.class)
self.style = args.style
self.attrs = args.attrs
-- Set text style.
self.textstyle = args.textstyle
-- Find if we are on the template page or not. This functionality is only
-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory
-- and cfg.templateCategoryRequireName are set.
self.useCollapsibleTextFields = cfg.useCollapsibleTextFields
if self.useCollapsibleTextFields
or cfg.templateCategory
and cfg.templateCategoryRequireName
then
self.name = args.name
if self.name then
local templateName = mw.ustring.match(
self.name,
'^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$'
) or self.name
templateName = 'Template:' .. templateName
self.templateTitle = getTitleObject(templateName)
end
self.isTemplatePage = self.templateTitle
and mw.title.equals(self.title, self.templateTitle)
end
-- Process data for collapsible text fields. At the moment these are only
-- used in {{ambox}}.
if self.useCollapsibleTextFields then
-- Get the self.issue value.
if self.isSmall and args.smalltext then
self.issue = args.smalltext
else
local sect
if args.sect == '' then
sect = 'This ' .. (cfg.sectionDefault or 'page')
elseif type(args.sect) == 'string' then
sect = 'This ' .. args.sect
end
local issue = args.issue
issue = type(issue) == 'string' and issue ~= '' and issue or nil
local text = args.text
text = type(text) == 'string' and text or nil
local issues = {}
table.insert(issues, sect)
table.insert(issues, issue)
table.insert(issues, text)
self.issue = table.concat(issues, ' ')
end
-- Get the self.talk value.
local talk = args.talk
-- Show talk links on the template page or template subpages if the talk
-- parameter is blank.
if talk == ''
and self.templateTitle
and (
mw.title.equals(self.templateTitle, self.title)
or self.title:isSubpageOf(self.templateTitle)
)
then
talk = '#'
elseif talk == '' then
talk = nil
end
if talk then
-- If the talk value is a talk page, make a link to that page. Else
-- assume that it's a section heading, and make a link to the talk
-- page of the current page with that section heading.
local talkTitle = getTitleObject(talk)
local talkArgIsTalkPage = true
if not talkTitle or not talkTitle.isTalkPage then
talkArgIsTalkPage = false
talkTitle = getTitleObject(
self.title.text,
mw.site.namespaces[self.title.namespace].talk.id
)
end
if talkTitle and talkTitle.exists then
local talkText = '내용에 대한 의견이 있으시다면 '
if talkArgIsTalkPage then
talkText = string.format(
'%s [[%s|%s]]에서 나누어 주세요.',
talkText,
talk,
talkTitle.prefixedText
)
else
talkText = string.format(
'%s [[%s#%s|토론 문서]]에서 나누어 주세요.',
talkText,
talkTitle.prefixedText,
talk
)
end
self.talk = talkText
end
end
-- Get other values.
self.fix = args.fix ~= '' and args.fix or nil
local date
if args.date and args.date ~= '' then
date = args.date
elseif args.date == '' and self.isTemplatePage then
date = lang:formatDate('Y년 n월')
end
if date then
self.date = string.format(" <small>(%s)</small>", date)
end
self.info = args.info
end
-- Set the non-collapsible text field. At the moment this is used by all box
-- types other than ambox, and also by ambox when small=yes.
if self.isSmall then
self.text = args.smalltext or args.text
else
self.text = args.text
end
-- Set the below row.
self.below = cfg.below and args.below
-- General image settings.
self.imageCellDiv = not self.isSmall and cfg.imageCellDiv
self.imageEmptyCell = cfg.imageEmptyCell
if cfg.imageEmptyCellStyle then
self.imageEmptyCellStyle = 'border:none;padding:0px;width:1px'
end
-- Left image settings.
local imageLeft = self.isSmall and args.smallimage or args.image
if cfg.imageCheckBlank and imageLeft ~= 'blank' and imageLeft ~= 'none'
or not cfg.imageCheckBlank and imageLeft ~= 'none'
then
self.imageLeft = imageLeft
if not imageLeft then
local imageSize = self.isSmall
and (cfg.imageSmallSize or '30x30px')
or '40x40px'
self.imageLeft = string.format('[[File:%s|%s|link=|alt=]]', self.typeImage
or 'Imbox notice.png', imageSize)
end
end
-- Right image settings.
local imageRight = self.isSmall and args.smallimageright or args.imageright
if not (cfg.imageRightNone and imageRight == 'none') then
self.imageRight = imageRight
end
end
function MessageBox:setMainspaceCategories()
local args = self.args
local cfg = self.cfg
if not cfg.allowMainspaceCategories then
return nil
end
local nums = {}
for _, prefix in ipairs{'cat', 'category', 'all'} do
args[prefix .. '1'] = args[prefix]
nums = union(nums, getArgNums(args, prefix))
end
-- The following is roughly equivalent to the old {{Ambox/category}}.
local date = args.date
date = type(date) == 'string' and date
local preposition = 'from'
for _, num in ipairs(nums) do
local mainCat = args['cat' .. tostring(num)]
or args['category' .. tostring(num)]
local allCat = args['all' .. tostring(num)]
mainCat = type(mainCat) == 'string' and mainCat
allCat = type(allCat) == 'string' and allCat
if mainCat and date and date ~= '' then
local catTitle = string.format('%s/%s', mainCat, date)
self:addCat(0, catTitle)
catTitle = getTitleObject('분류:' .. catTitle)
if not catTitle or not catTitle.exists then
self:addCat(0, '지정 날짜가 올바르지 않은 틀이 있는 문서')
end
elseif mainCat and (not date or date == '') then
self:addCat(0, mainCat)
end
if allCat then
self:addCat(0, allCat)
end
end
end
function MessageBox:setTemplateCategories()
local args = self.args
local cfg = self.cfg
-- Add template categories.
if cfg.templateCategory then
if cfg.templateCategoryRequireName then
if self.isTemplatePage then
self:addCat(10, cfg.templateCategory)
end
elseif not self.title.isSubpage then
self:addCat(10, cfg.templateCategory)
end
end
-- Add template error categories.
if cfg.templateErrorCategory then
local templateErrorCategory = cfg.templateErrorCategory
local templateCat, templateSort
if not self.name and not self.title.isSubpage then
templateCat = templateErrorCategory
elseif self.isTemplatePage then
local paramsToCheck = cfg.templateErrorParamsToCheck or {}
local count = 0
for i, param in ipairs(paramsToCheck) do
if not args[param] then
count = count + 1
end
end
if count > 0 then
templateCat = templateErrorCategory
templateSort = tostring(count)
end
if self.categoryNums and #self.categoryNums > 0 then
templateCat = templateErrorCategory
templateSort = 'C'
end
end
self:addCat(10, templateCat, templateSort)
end
end
function MessageBox:setAllNamespaceCategories()
-- Set categories for all namespaces.
if self.invalidTypeError then
local allSort = (self.title.namespace == 0 and 'Main:' or '') .. self.title.prefixedText
self:addCat('all', '잘못된 위키백과 알림 상자', allSort)
end
if self.isSubstituted then
self:addCat('all', '잘못 치환된 틀을 사용한 문서')
end
end
function MessageBox:setCategories()
if self.title.namespace == 0 then
self:setMainspaceCategories()
elseif self.title.namespace == 10 then
self:setTemplateCategories()
end
self:setAllNamespaceCategories()
end
function MessageBox:renderCategories()
-- Convert category tables to strings and pass them through
-- [[Module:Category handler]].
return categoryHandler{
main = table.concat(self.categories[0] or {}),
template = table.concat(self.categories[10] or {}),
all = table.concat(self.categories.all or {}),
nocat = self.args.nocat,
page = self.args.page
}
end
function MessageBox:export()
local root = mw.html.create()
-- Add the subst check error.
if self.isSubstituted and self.name then
root:tag('b')
:addClass('error')
:wikitext(string.format(
'<code>%s[[틀:%s|%s]]%s</code> 틀이 잘못 치환되었습니다.',
mw.text.nowiki('{{'), self.name, self.name, mw.text.nowiki('}}')
))
end
-- Create the box table.
local boxTable = root:tag('table')
boxTable:attr('id', self.id or nil)
for i, class in ipairs(self.classes or {}) do
boxTable:addClass(class or nil)
end
boxTable
:cssText(self.style or nil)
:attr('role', 'presentation')
if self.attrs then
boxTable:attr(self.attrs)
end
-- Add the left-hand image.
local row = boxTable:tag('tr')
if self.imageLeft then
local imageLeftCell = row:tag('td'):addClass('mbox-image')
if self.imageCellDiv then
-- If we are using a div, redefine imageLeftCell so that the image
-- is inside it. Divs use style="width: 52px;", which limits the
-- image width to 52px. If any images in a div are wider than that,
-- they may overlap with the text or cause other display problems.
imageLeftCell = imageLeftCell:tag('div'):css('width', '52px')
end
imageLeftCell:wikitext(self.imageLeft or nil)
elseif self.imageEmptyCell then
-- Some message boxes define an empty cell if no image is specified, and
-- some don't. The old template code in templates where empty cells are
-- specified gives the following hint: "No image. Cell with some width
-- or padding necessary for text cell to have 100% width."
row:tag('td')
:addClass('mbox-empty-cell')
:cssText(self.imageEmptyCellStyle or nil)
end
-- Add the text.
local textCell = row:tag('td'):addClass('mbox-text')
if self.useCollapsibleTextFields then
-- The message box uses advanced text parameters that allow things to be
-- collapsible. At the moment, only ambox uses this.
textCell:cssText(self.textstyle or nil)
local textCellSpan = textCell:tag('span')
textCellSpan
:addClass('mbox-text-span')
:wikitext(self.issue or nil)
if not self.isSmall then
textCellSpan:tag('span')
:addClass('hide-when-compact')
:wikitext(self.talk and (' ' .. self.talk) or nil)
:wikitext(self.fix and ('<br />' .. self.fix) or nil)
end
textCellSpan:wikitext(self.date and (' ' .. self.date) or nil)
if not self.isSmall then
textCellSpan
:tag('span')
:addClass('hide-when-compact')
:wikitext(self.info and (' ' .. self.info) or nil)
end
else
-- Default text formatting - anything goes.
textCell
:cssText(self.textstyle or nil)
:wikitext(self.text or nil)
end
-- Add the right-hand image.
if self.imageRight then
local imageRightCell = row:tag('td'):addClass('mbox-imageright')
if self.imageCellDiv then
-- If we are using a div, redefine imageRightCell so that the image
-- is inside it.
imageRightCell = imageRightCell:tag('div'):css('width', '52px')
end
imageRightCell
:wikitext(self.imageRight or nil)
end
-- Add the below row.
if self.below then
boxTable:tag('tr')
:tag('td')
:attr('colspan', self.imageRight and '3' or '2')
:addClass('mbox-text')
:cssText(self.textstyle or nil)
:wikitext(self.below or nil)
end
-- Add error message for invalid type parameters.
if self.invalidTypeError then
root:tag('div')
:css('text-align', 'center')
:wikitext(string.format(
'이 메시지 상자는 유효하지 않은 "type=%s" 변수를 사용하고 있으므로 수정이 필요합니다.',
self.type or ''
))
end
-- Add categories.
root:wikitext(self:renderCategories() or nil)
return tostring(root)
end
--------------------------------------------------------------------------------
-- Exports
--------------------------------------------------------------------------------
local p, mt = {}, {}
function p._exportClasses()
-- For testing.
return {
MessageBox = MessageBox
}
end
function p.main(boxType, args, cfgTables)
local newargs = {}
for k, v in pairs(args) do
newargs[localize.arg_map[k] or k] = v
end
if newargs.type ~= nil then
newargs.type = localize.type_map[newargs.type] or newargs.type
end
if newargs.small ~= nil then
newargs.small = localize.small_map[newargs.small] or newargs.small
end
if newargs.image == '없음' then newargs.image = 'none' end
if newargs.imageright == '없음' then newargs.imageright = 'none' end
if newargs.smallimage == '없음' then newargs.smallimage = 'none' end
if newargs.smallimageright == '없음' then newargs.smallimageright = 'none' end
if newargs.date then newargs.date = getDate(newargs.date) end
local box = MessageBox.new(boxType, newargs, cfgTables or mw.loadData('Module:Message box/configuration'))
box:setParameters()
box:setCategories()
return box:export()
end
function mt.__index(t, k)
return function (frame)
if not getArgs then
getArgs = require('Module:Arguments').getArgs
end
return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))
end
end
return setmetatable(p, mt)
ba3dc2f5220a5f873391292fc13af87ac036212c
모듈:Arguments
828
42
80
2023-11-29T07:33:33Z
朴初隣
2
새 문서: -- This module provides easy processing of arguments passed to Scribunto from -- #invoke. It is intended for use by other Lua modules, and should not be -- called from #invoke directly. local libraryUtil = require('libraryUtil') local checkType = libraryUtil.checkType local arguments = {} -- Generate four different tidyVal functions, so that we don't have to check the -- options every time we call it. local function tidyValDefault(key, val) if type(val) == 'string' then v...
Scribunto
text/plain
-- This module provides easy processing of arguments passed to Scribunto from
-- #invoke. It is intended for use by other Lua modules, and should not be
-- called from #invoke directly.
local libraryUtil = require('libraryUtil')
local checkType = libraryUtil.checkType
local arguments = {}
-- Generate four different tidyVal functions, so that we don't have to check the
-- options every time we call it.
local function tidyValDefault(key, val)
if type(val) == 'string' then
val = val:match('^%s*(.-)%s*$')
if val == '' then
return nil
else
return val
end
else
return val
end
end
local function tidyValTrimOnly(key, val)
if type(val) == 'string' then
return val:match('^%s*(.-)%s*$')
else
return val
end
end
local function tidyValRemoveBlanksOnly(key, val)
if type(val) == 'string' then
if val:find('%S') then
return val
else
return nil
end
else
return val
end
end
local function tidyValNoChange(key, val)
return val
end
local function matchesTitle(given, title)
local tp = type( given )
return (tp == 'string' or tp == 'number') and mw.title.new( given ).prefixedText == title
end
local translate_mt = { __index = function(t, k) return k end }
function arguments.getArgs(frame, options)
checkType('getArgs', 1, frame, 'table', true)
checkType('getArgs', 2, options, 'table', true)
frame = frame or {}
options = options or {}
--[[
-- Set up argument translation.
--]]
options.translate = options.translate or {}
if getmetatable(options.translate) == nil then
setmetatable(options.translate, translate_mt)
end
if options.backtranslate == nil then
options.backtranslate = {}
for k,v in pairs(options.translate) do
options.backtranslate[v] = k
end
end
if options.backtranslate and getmetatable(options.backtranslate) == nil then
setmetatable(options.backtranslate, {
__index = function(t, k)
if options.translate[k] ~= k then
return nil
else
return k
end
end
})
end
--[[
-- Get the argument tables. If we were passed a valid frame object, get the
-- frame arguments (fargs) and the parent frame arguments (pargs), depending
-- on the options set and on the parent frame's availability. If we weren't
-- passed a valid frame object, we are being called from another Lua module
-- or from the debug console, so assume that we were passed a table of args
-- directly, and assign it to a new variable (luaArgs).
--]]
local fargs, pargs, luaArgs
if type(frame.args) == 'table' and type(frame.getParent) == 'function' then
if options.wrappers then
--[[
-- The wrappers option makes Module:Arguments look up arguments in
-- either the frame argument table or the parent argument table, but
-- not both. This means that users can use either the #invoke syntax
-- or a wrapper template without the loss of performance associated
-- with looking arguments up in both the frame and the parent frame.
-- Module:Arguments will look up arguments in the parent frame
-- if it finds the parent frame's title in options.wrapper;
-- otherwise it will look up arguments in the frame object passed
-- to getArgs.
--]]
local parent = frame:getParent()
if not parent then
fargs = frame.args
else
local title = parent:getTitle():gsub('/sandbox$', '')
local found = false
if matchesTitle(options.wrappers, title) then
found = true
elseif type(options.wrappers) == 'table' then
for _,v in pairs(options.wrappers) do
if matchesTitle(v, title) then
found = true
break
end
end
end
-- We test for false specifically here so that nil (the default) acts like true.
if found or options.frameOnly == false then
pargs = parent.args
end
if not found or options.parentOnly == false then
fargs = frame.args
end
end
else
-- options.wrapper isn't set, so check the other options.
if not options.parentOnly then
fargs = frame.args
end
if not options.frameOnly then
local parent = frame:getParent()
pargs = parent and parent.args or nil
end
end
if options.parentFirst then
fargs, pargs = pargs, fargs
end
else
luaArgs = frame
end
-- Set the order of precedence of the argument tables. If the variables are
-- nil, nothing will be added to the table, which is how we avoid clashes
-- between the frame/parent args and the Lua args.
local argTables = {fargs}
argTables[#argTables + 1] = pargs
argTables[#argTables + 1] = luaArgs
--[[
-- Generate the tidyVal function. If it has been specified by the user, we
-- use that; if not, we choose one of four functions depending on the
-- options chosen. This is so that we don't have to call the options table
-- every time the function is called.
--]]
local tidyVal = options.valueFunc
if tidyVal then
if type(tidyVal) ~= 'function' then
error(
"bad value assigned to option 'valueFunc'"
.. '(function expected, got '
.. type(tidyVal)
.. ')',
2
)
end
elseif options.trim ~= false then
if options.removeBlanks ~= false then
tidyVal = tidyValDefault
else
tidyVal = tidyValTrimOnly
end
else
if options.removeBlanks ~= false then
tidyVal = tidyValRemoveBlanksOnly
else
tidyVal = tidyValNoChange
end
end
--[[
-- Set up the args, metaArgs and nilArgs tables. args will be the one
-- accessed from functions, and metaArgs will hold the actual arguments. Nil
-- arguments are memoized in nilArgs, and the metatable connects all of them
-- together.
--]]
local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}
setmetatable(args, metatable)
local function mergeArgs(tables)
--[[
-- Accepts multiple tables as input and merges their keys and values
-- into one table. If a value is already present it is not overwritten;
-- tables listed earlier have precedence. We are also memoizing nil
-- values, which can be overwritten if they are 's' (soft).
--]]
for _, t in ipairs(tables) do
for key, val in pairs(t) do
if metaArgs[key] == nil and nilArgs[key] ~= 'h' then
local tidiedVal = tidyVal(key, val)
if tidiedVal == nil then
nilArgs[key] = 's'
else
metaArgs[key] = tidiedVal
end
end
end
end
end
--[[
-- Define metatable behaviour. Arguments are memoized in the metaArgs table,
-- and are only fetched from the argument tables once. Fetching arguments
-- from the argument tables is the most resource-intensive step in this
-- module, so we try and avoid it where possible. For this reason, nil
-- arguments are also memoized, in the nilArgs table. Also, we keep a record
-- in the metatable of when pairs and ipairs have been called, so we do not
-- run pairs and ipairs on the argument tables more than once. We also do
-- not run ipairs on fargs and pargs if pairs has already been run, as all
-- the arguments will already have been copied over.
--]]
metatable.__index = function (t, key)
--[[
-- Fetches an argument when the args table is indexed. First we check
-- to see if the value is memoized, and if not we try and fetch it from
-- the argument tables. When we check memoization, we need to check
-- metaArgs before nilArgs, as both can be non-nil at the same time.
-- If the argument is not present in metaArgs, we also check whether
-- pairs has been run yet. If pairs has already been run, we return nil.
-- This is because all the arguments will have already been copied into
-- metaArgs by the mergeArgs function, meaning that any other arguments
-- must be nil.
--]]
if type(key) == 'string' then
key = options.translate[key]
end
local val = metaArgs[key]
if val ~= nil then
return val
elseif metatable.donePairs or nilArgs[key] then
return nil
end
for _, argTable in ipairs(argTables) do
local argTableVal = tidyVal(key, argTable[key])
if argTableVal ~= nil then
metaArgs[key] = argTableVal
return argTableVal
end
end
nilArgs[key] = 'h'
return nil
end
metatable.__newindex = function (t, key, val)
-- This function is called when a module tries to add a new value to the
-- args table, or tries to change an existing value.
if type(key) == 'string' then
key = options.translate[key]
end
if options.readOnly then
error(
'could not write to argument table key "'
.. tostring(key)
.. '"; the table is read-only',
2
)
elseif options.noOverwrite and args[key] ~= nil then
error(
'could not write to argument table key "'
.. tostring(key)
.. '"; overwriting existing arguments is not permitted',
2
)
elseif val == nil then
--[[
-- If the argument is to be overwritten with nil, we need to erase
-- the value in metaArgs, so that __index, __pairs and __ipairs do
-- not use a previous existing value, if present; and we also need
-- to memoize the nil in nilArgs, so that the value isn't looked
-- up in the argument tables if it is accessed again.
--]]
metaArgs[key] = nil
nilArgs[key] = 'h'
else
metaArgs[key] = val
end
end
local function translatenext(invariant)
local k, v = next(invariant.t, invariant.k)
invariant.k = k
if k == nil then
return nil
elseif type(k) ~= 'string' or not options.backtranslate then
return k, v
else
local backtranslate = options.backtranslate[k]
if backtranslate == nil then
-- Skip this one. This is a tail call, so this won't cause stack overflow
return translatenext(invariant)
else
return backtranslate, v
end
end
end
metatable.__pairs = function ()
-- Called when pairs is run on the args table.
if not metatable.donePairs then
mergeArgs(argTables)
metatable.donePairs = true
end
return translatenext, { t = metaArgs }
end
local function inext(t, i)
-- This uses our __index metamethod
local v = t[i + 1]
if v ~= nil then
return i + 1, v
end
end
metatable.__ipairs = function (t)
-- Called when ipairs is run on the args table.
return inext, t, 0
end
return args
end
return arguments
3134ecce8429b810d445e29eae115e2ae4c36c53
모듈:Category handler
828
43
81
2023-11-29T07:36:06Z
朴初隣
2
새 문서: -------------------------------------------------------------------------------- -- -- -- CATEGORY HANDLER -- -- -- -- This module implements the {{category handler}} template in Lua, -- -- with a few improvements: all namespaces and all namespace aliases...
Scribunto
text/plain
--------------------------------------------------------------------------------
-- --
-- CATEGORY HANDLER --
-- --
-- This module implements the {{category handler}} template in Lua, --
-- with a few improvements: all namespaces and all namespace aliases --
-- are supported, and namespace names are detected automatically for --
-- the local wiki. This module requires [[Module:Namespace detect]] --
-- and [[Module:Yesno]] to be available on the local wiki. It can be --
-- configured for different wikis by altering the values in --
-- [[Module:Category handler/config]], and pages can be blacklisted --
-- from categorisation by using [[Module:Category handler/blacklist]]. --
-- --
--------------------------------------------------------------------------------
-- Load required modules
local yesno = require('Module:Yesno')
-- Lazily load things we don't always need
local mShared, mappings
local p = {}
--------------------------------------------------------------------------------
-- Helper functions
--------------------------------------------------------------------------------
local function trimWhitespace(s, removeBlanks)
if type(s) ~= 'string' then
return s
end
s = s:match('^%s*(.-)%s*$')
if removeBlanks then
if s ~= '' then
return s
else
return nil
end
else
return s
end
end
--------------------------------------------------------------------------------
-- CategoryHandler class
--------------------------------------------------------------------------------
local CategoryHandler = {}
CategoryHandler.__index = CategoryHandler
function CategoryHandler.new(data, args)
local obj = setmetatable({ _data = data, _args = args }, CategoryHandler)
-- Set the title object
do
local pagename = obj:parameter('demopage')
local success, titleObj
if pagename then
success, titleObj = pcall(mw.title.new, pagename)
end
if success and titleObj then
obj.title = titleObj
if titleObj == mw.title.getCurrentTitle() then
obj._usesCurrentTitle = true
end
else
obj.title = mw.title.getCurrentTitle()
obj._usesCurrentTitle = true
end
end
-- Set suppression parameter values
for _, key in ipairs{'nocat', 'categories'} do
local value = obj:parameter(key)
value = trimWhitespace(value, true)
obj['_' .. key] = yesno(value)
end
do
local subpage = obj:parameter('subpage')
local category2 = obj:parameter('category2')
if type(subpage) == 'string' then
subpage = mw.ustring.lower(subpage)
end
if type(category2) == 'string' then
subpage = mw.ustring.lower(category2)
end
obj._subpage = trimWhitespace(subpage, true)
obj._category2 = trimWhitespace(category2) -- don't remove blank values
end
return obj
end
function CategoryHandler:parameter(key)
local parameterNames = self._data.parameters[key]
local pntype = type(parameterNames)
if pntype == 'string' or pntype == 'number' then
return self._args[parameterNames]
elseif pntype == 'table' then
for _, name in ipairs(parameterNames) do
local value = self._args[name]
if value ~= nil then
return value
end
end
return nil
else
error(string.format(
'invalid config key "%s"',
tostring(key)
), 2)
end
end
function CategoryHandler:isSuppressedByArguments()
return
-- See if a category suppression argument has been set.
self._nocat == true
or self._categories == false
or (
self._category2
and self._category2 ~= self._data.category2Yes
and self._category2 ~= self._data.category2Negative
)
-- Check whether we are on a subpage, and see if categories are
-- suppressed based on our subpage status.
or self._subpage == self._data.subpageNo and self.title.isSubpage
or self._subpage == self._data.subpageOnly and not self.title.isSubpage
end
function CategoryHandler:shouldSkipBlacklistCheck()
-- Check whether the category suppression arguments indicate we
-- should skip the blacklist check.
return self._nocat == false
or self._categories == true
or self._category2 == self._data.category2Yes
end
function CategoryHandler:matchesBlacklist()
if self._usesCurrentTitle then
return self._data.currentTitleMatchesBlacklist
else
mShared = mShared or require('Module:Category handler/shared')
return mShared.matchesBlacklist(
self.title.prefixedText,
mw.loadData('Module:Category handler/blacklist')
)
end
end
function CategoryHandler:isSuppressed()
-- Find if categories are suppressed by either the arguments or by
-- matching the blacklist.
return self:isSuppressedByArguments()
or not self:shouldSkipBlacklistCheck() and self:matchesBlacklist()
end
function CategoryHandler:getNamespaceParameters()
if self._usesCurrentTitle then
return self._data.currentTitleNamespaceParameters
else
if not mappings then
mShared = mShared or require('Module:Category handler/shared')
mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData
end
return mShared.getNamespaceParameters(
self.title,
mappings
)
end
end
function CategoryHandler:namespaceParametersExist()
-- Find whether any namespace parameters have been specified.
-- We use the order "all" --> namespace params --> "other" as this is what
-- the old template did.
if self:parameter('all') then
return true
end
if not mappings then
mShared = mShared or require('Module:Category handler/shared')
mappings = mShared.getParamMappings(true) -- gets mappings with mw.loadData
end
for ns, params in pairs(mappings) do
for i, param in ipairs(params) do
if self._args[param] then
return true
end
end
end
if self:parameter('other') then
return true
end
return false
end
function CategoryHandler:getCategories()
local params = self:getNamespaceParameters()
local nsCategory
for i, param in ipairs(params) do
local value = self._args[param]
if value ~= nil then
nsCategory = value
break
end
end
if nsCategory ~= nil or self:namespaceParametersExist() then
-- Namespace parameters exist - advanced usage.
if nsCategory == nil then
nsCategory = self:parameter('other')
end
local ret = {self:parameter('all')}
local numParam = tonumber(nsCategory)
if numParam and numParam >= 1 and math.floor(numParam) == numParam then
-- nsCategory is an integer
ret[#ret + 1] = self._args[numParam]
else
ret[#ret + 1] = nsCategory
end
if #ret < 1 then
return nil
else
return table.concat(ret)
end
elseif self._data.defaultNamespaces[self.title.namespace] then
-- Namespace parameters don't exist, simple usage.
return self._args[1]
end
return nil
end
--------------------------------------------------------------------------------
-- Exports
--------------------------------------------------------------------------------
local p = {}
function p._exportClasses()
-- Used for testing purposes.
return {
CategoryHandler = CategoryHandler
}
end
function p._main(args, data)
data = data or mw.loadData('Module:Category handler/data')
local handler = CategoryHandler.new(data, args)
if handler:isSuppressed() then
return nil
end
return handler:getCategories()
end
function p.main(frame, data)
data = data or mw.loadData('Module:Category handler/data')
local args = require('Module:Arguments').getArgs(frame, {
wrappers = data.wrappers,
valueFunc = function (k, v)
v = trimWhitespace(v)
if type(k) == 'number' then
if v ~= '' then
return v
else
return nil
end
else
return v
end
end
})
return p._main(args, data)
end
return p
b74dd63857b24904ac452429b11213f18647471f
모듈:Yesno
828
44
82
2023-11-29T07:38:25Z
朴初隣
2
새 문서: -- Function allowing for consistent treatment of boolean-like wikitext input. -- It works similarly to the template {{yesno}}. return function (val, default) -- If your wiki uses non-ascii characters for any of "yes", "no", etc., you -- should replace "val:lower()" with "mw.ustring.lower(val)" in the -- following line. val = type(val) == 'string' and val:lower() or val if val == nil then return nil elseif val == true or val == 'yes' or val == 'y' or val == 'true'...
Scribunto
text/plain
-- Function allowing for consistent treatment of boolean-like wikitext input.
-- It works similarly to the template {{yesno}}.
return function (val, default)
-- If your wiki uses non-ascii characters for any of "yes", "no", etc., you
-- should replace "val:lower()" with "mw.ustring.lower(val)" in the
-- following line.
val = type(val) == 'string' and val:lower() or val
if val == nil then
return nil
elseif val == true
or val == 'yes'
or val == 'y'
or val == 'true'
or val == 't'
or val == 'on'
or val == '예'
or val == '참'
or tonumber(val) == 1
then
return true
elseif val == false
or val == 'no'
or val == 'n'
or val == 'false'
or val == 'f'
or val == 'off'
or val == '아니요'
or val == '거짓'
or tonumber(val) == 0
then
return false
else
return default
end
end
3be8955a80686344e0efc723ced29e110d932f58
모듈:Documentation/config
828
45
83
2023-11-29T07:41:06Z
朴初隣
2
새 문서: ---------------------------------------------------------------------------------------------------- -- -- Configuration for Module:Documentation -- -- Here you can set the values of the parameters and messages used in Module:Documentation to -- localise it to your wiki and your language. Unless specified otherwise, values given here -- should be string values. -----------------------------------------------------------------------------------------...
Scribunto
text/plain
----------------------------------------------------------------------------------------------------
--
-- Configuration for Module:Documentation
--
-- Here you can set the values of the parameters and messages used in Module:Documentation to
-- localise it to your wiki and your language. Unless specified otherwise, values given here
-- should be string values.
----------------------------------------------------------------------------------------------------
local cfg = {} -- Do not edit this line.
----------------------------------------------------------------------------------------------------
-- Protection template configuration
----------------------------------------------------------------------------------------------------
-- cfg['protection-reason-edit']
-- The protection reason for edit-protected templates to pass to
-- [[Module:Protection banner]].
cfg['protection-reason-edit'] = 'template'
--[[
----------------------------------------------------------------------------------------------------
-- Sandbox notice configuration
--
-- On sandbox pages the module can display a template notifying users that the current page is a
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a
-- sandbox or not based on the value of cfg['sandbox-subpage']. The following settings configure the
-- messages that the notices contains.
----------------------------------------------------------------------------------------------------
--]]
-- cfg['sandbox-notice-image']
-- The image displayed in the sandbox notice.
cfg['sandbox-notice-image'] = '[[Image:Sandbox.svg|50px|alt=|link=]]'
--[[
-- cfg['sandbox-notice-pagetype-template']
-- cfg['sandbox-notice-pagetype-module']
-- cfg['sandbox-notice-pagetype-other']
-- The page type of the sandbox page. The message that is displayed depends on the current subject
-- namespace. This message is used in either cfg['sandbox-notice-blurb'] or
-- cfg['sandbox-notice-diff-blurb'].
--]]
cfg['sandbox-notice-pagetype-template'] = '[[위키백과:틀 연습장과 시험장|틀 연습장]] 문서'
cfg['sandbox-notice-pagetype-module'] = '[[위키백과:틀 연습장과 시험장|모듈 연습장]] 문서'
cfg['sandbox-notice-pagetype-other'] = '연습장 문서'
--[[
-- cfg['sandbox-notice-blurb']
-- cfg['sandbox-notice-diff-blurb']
-- cfg['sandbox-notice-diff-display']
-- Either cfg['sandbox-notice-blurb'] or cfg['sandbox-notice-diff-blurb'] is the opening sentence
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page
-- type, which is either cfg['sandbox-notice-pagetype-template'],
-- cfg['sandbox-notice-pagetype-module'] or cfg['sandbox-notice-pagetype-other'] depending what
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between
-- the sandbox and the main template. The display value of the diff link is set by
-- cfg['sandbox-notice-compare-link-display'].
--]]
cfg['sandbox-notice-blurb'] = '이 문서는 $2의 $1입니다.'
cfg['sandbox-notice-diff-blurb'] = '이 문서는 $2($3)의 $1입니다.'
cfg['sandbox-notice-compare-link-display'] = '차이'
--[[
-- cfg['sandbox-notice-testcases-blurb']
-- cfg['sandbox-notice-testcases-link-display']
-- cfg['sandbox-notice-testcases-run-blurb']
-- cfg['sandbox-notice-testcases-run-link-display']
-- cfg['sandbox-notice-testcases-blurb'] is a sentence notifying the user that there is a test cases page
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.
-- cfg['sandbox-notice-testcases-link-display'] is the display value for that link.
-- cfg['sandbox-notice-testcases-run-blurb'] is a sentence notifying the user that there is a test cases page
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test
-- cases page, and $2 is a link to the page to run it.
-- cfg['sandbox-notice-testcases-run-link-display'] is the display value for the link to run the test
-- cases.
--]]
cfg['sandbox-notice-testcases-blurb'] = '대응되는 $1의 하위 문서도 참고하십시오.'
cfg['sandbox-notice-testcases-link-display'] = '테스트 케이스'
cfg['sandbox-notice-testcases-run-blurb'] = '대응되는 $1의 하위 문서($2)도 참고하십시오.'
cfg['sandbox-notice-testcases-run-link-display'] = '실행'
-- cfg['sandbox-category']
-- A category to add to all template sandboxes.
cfg['sandbox-category'] = '틀 연습장'
----------------------------------------------------------------------------------------------------
-- Start box configuration
----------------------------------------------------------------------------------------------------
-- cfg['documentation-icon-wikitext']
-- The wikitext for the icon shown at the top of the template.
cfg['documentation-icon-wikitext'] = '[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]'
-- cfg['template-namespace-heading']
-- The heading shown in the template namespace.
cfg['template-namespace-heading'] = '틀 설명문서'
-- cfg['module-namespace-heading']
-- The heading shown in the module namespace.
cfg['module-namespace-heading'] = '모듈 설명문서'
-- cfg['file-namespace-heading']
-- The heading shown in the file namespace.
cfg['file-namespace-heading'] = '요약'
-- cfg['other-namespaces-heading']
-- The heading shown in other namespaces.
cfg['other-namespaces-heading'] = '설명문서'
-- cfg['view-link-display']
-- The text to display for "view" links.
cfg['view-link-display'] = '보기'
-- cfg['edit-link-display']
-- The text to display for "edit" links.
cfg['edit-link-display'] = '편집'
-- cfg['history-link-display']
-- The text to display for "history" links.
cfg['history-link-display'] = '역사'
-- cfg['purge-link-display']
-- The text to display for "purge" links.
cfg['purge-link-display'] = '새로 고침'
-- cfg['create-link-display']
-- The text to display for "create" links.
cfg['create-link-display'] = '만들기'
----------------------------------------------------------------------------------------------------
-- Link box (end box) configuration
----------------------------------------------------------------------------------------------------
-- cfg['transcluded-from-blurb']
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.
cfg['transcluded-from-blurb'] = '위 [[위키백과:틀 설명문서|설명]]은 $1의 내용을 [[위키백과:문서 끼워넣기|가져와]] 보여주고 있습니다.'
--[[
-- cfg['create-module-doc-blurb']
-- Notice displayed in the module namespace when the documentation subpage does not exist.
-- $1 is a link to create the documentation page with the preload cfg['module-preload'] and the
-- display cfg['create-link-display'].
--]]
cfg['create-module-doc-blurb'] = '위 [[위키백과:틀 설명문서|설명]]은 이 [[위키백과:모듈|Scribunto 모듈]]에 [[/설명문서|설명문서]]의 내용을 [[위키백과:문서 끼워넣기|가져와]] 보여주고 있습니다. $1'
----------------------------------------------------------------------------------------------------
-- Experiment blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['experiment-blurb-template']
-- cfg['experiment-blurb-module']
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.
-- It is only shown in the template and module namespaces. With the default English settings, it
-- might look like this:
--
-- Editors can experiment in this template's sandbox (edit | diff) and testcases (edit) pages.
--
-- In this example, "sandbox", "edit", "diff", "testcases", and "edit" would all be links.
--
-- There are two versions, cfg['experiment-blurb-template'] and cfg['experiment-blurb-module'], depending
-- on what namespace we are in.
--
-- Parameters:
--
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-edit-link-display'] | cfg['compare-link-display'])
--
-- If the sandbox doesn't exist, it is in the format:
--
-- cfg['sandbox-link-display'] (cfg['sandbox-create-link-display'] | cfg['mirror-link-display'])
--
-- The link for cfg['sandbox-create-link-display'] link preloads the page with cfg['template-sandbox-preload']
-- or cfg['module-sandbox-preload'], depending on the current namespace. The link for cfg['mirror-link-display']
-- loads a default edit summary of cfg['mirror-edit-summary'].
--
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:
--
-- cfg['testcases-link-display'] (cfg['testcases-edit-link-display'] | cfg['testcases-run-link-display'])
--
-- If the test cases page doesn't exist, it is in the format:
--
-- cfg['testcases-link-display'] (cfg['testcases-create-link-display'])
--
-- If the test cases page doesn't exist, the link for cfg['testcases-create-link-display'] preloads the
-- page with cfg['template-testcases-preload'] or cfg['module-testcases-preload'], depending on the current
-- namespace.
--]]
cfg['experiment-blurb-template'] = "이 틀에 대한 수정 연습과 시험은 $1과 $2에서 할 수 있습니다."
cfg['experiment-blurb-module'] = "이 모듈에 대한 수정 연습과 시험은 $1과 $2에서 할 수 있습니다."
----------------------------------------------------------------------------------------------------
-- Sandbox link configuration
----------------------------------------------------------------------------------------------------
-- cfg['sandbox-subpage']
-- The name of the template subpage typically used for sandboxes.
cfg['sandbox-subpage'] = '연습장'
-- cfg['template-sandbox-preload']
-- Preload file for template sandbox pages.
cfg['template-sandbox-preload'] = '틀:설명문서/미리싣기-연습장'
-- cfg['module-sandbox-preload']
-- Preload file for Lua module sandbox pages.
cfg['module-sandbox-preload'] = '틀:설명문서/미리싣기-모듈-연습장'
-- cfg['sandbox-link-display']
-- The text to display for "sandbox" links.
cfg['sandbox-link-display'] = '연습장'
-- cfg['sandbox-edit-link-display']
-- The text to display for sandbox "edit" links.
cfg['sandbox-edit-link-display'] = '편집'
-- cfg['sandbox-create-link-display']
-- The text to display for sandbox "create" links.
cfg['sandbox-create-link-display'] = '만들기'
-- cfg['compare-link-display']
-- The text to display for "compare" links.
cfg['compare-link-display'] = '차이'
-- cfg['mirror-edit-summary']
-- The default edit summary to use when a user clicks the "mirror" link. $1 is a wikilink to the
-- template page.
cfg['mirror-edit-summary'] = '$1과 같은 내용의 틀 연습장을 만듦'
-- cfg['mirror-link-display']
-- The text to display for "mirror" links.
cfg['mirror-link-display'] = '미러'
-- cfg['mirror-link-preload']
-- The page to preload when a user clicks the "mirror" link.
cfg['mirror-link-preload'] = '틀:설명문서/미러'
----------------------------------------------------------------------------------------------------
-- Test cases link configuration
----------------------------------------------------------------------------------------------------
-- cfg['testcases-subpage']
-- The name of the template subpage typically used for test cases.
cfg['testcases-subpage'] = '시험장'
-- cfg['template-testcases-preload']
-- Preload file for template test cases pages.
cfg['template-testcases-preload'] = '틀:설명문서/미리싣기-시험장'
-- cfg['module-testcases-preload']
-- Preload file for Lua module test cases pages.
cfg['module-testcases-preload'] = '틀:설명문서/미리싣기-모듈-시험장'
-- cfg['testcases-link-display']
-- The text to display for "testcases" links.
cfg['testcases-link-display'] = '시험장'
-- cfg['testcases-edit-link-display']
-- The text to display for test cases "edit" links.
cfg['testcases-edit-link-display'] = '편집'
-- cfg['testcases-run-link-display']
-- The text to display for test cases "run" links.
cfg['testcases-run-link-display'] = '시작'
-- cfg['testcases-create-link-display']
-- The text to display for test cases "create" links.
cfg['testcases-create-link-display'] = '만들기'
----------------------------------------------------------------------------------------------------
-- Add categories blurb configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['add-categories-blurb']
-- Text to direct users to add categories to the /doc subpage. Not used if the "content" or
-- "docname fed" arguments are set, as then it is not clear where to add the categories. $1 is a
-- link to the /doc subpage with a display value of cfg['doc-link-display'].
--]]
cfg['add-categories-blurb'] = '분류는 $1에 넣어주세요.'
-- cfg['doc-link-display']
-- The text to display when linking to the /doc subpage.
cfg['doc-link-display'] = '/설명문서'
----------------------------------------------------------------------------------------------------
-- Subpages link configuration
----------------------------------------------------------------------------------------------------
--[[
-- cfg['subpages-blurb']
-- The "Subpages of this template" blurb. $1 is a link to the main template's subpages with a
-- display value of cfg['subpages-link-display']. In the English version this blurb is simply
-- the link followed by a period, and the link display provides the actual text.
--]]
cfg['subpages-blurb'] = '$1.'
--[[
-- cfg['subpages-link-display']
-- The text to display for the "subpages of this page" link. $1 is cfg['template-pagetype'],
-- cfg['module-pagetype'] or cfg['default-pagetype'], depending on whether the current page is in
-- the template namespace, the module namespace, or another namespace.
--]]
cfg['subpages-link-display'] = '$1에 딸린 문서'
-- cfg['template-pagetype']
-- The pagetype to display for template pages.
cfg['template-pagetype'] = '이 틀'
-- cfg['module-pagetype']
-- The pagetype to display for Lua module pages.
cfg['module-pagetype'] = '이 모듈'
-- cfg['default-pagetype']
-- The pagetype to display for pages other than templates or Lua modules.
cfg['default-pagetype'] = '이 문서'
----------------------------------------------------------------------------------------------------
-- Doc link configuration
----------------------------------------------------------------------------------------------------
-- cfg['doc-subpage']
-- The name of the subpage typically used for documentation pages.
cfg['doc-subpage'] = '설명문서'
-- cfg['file-docpage-preload']
-- Preload file for documentation page in the file namespace.
cfg['file-docpage-preload'] = '틀:설명문서/미리싣기-파일'
-- cfg['docpage-preload']
-- Preload file for template documentation pages in all namespaces.
cfg['docpage-preload'] = '틀:설명문서/미리싣기'
-- cfg['module-preload']
-- Preload file for Lua module documentation pages.
cfg['module-preload'] = '틀:설명문서/미리싣기-모듈'
----------------------------------------------------------------------------------------------------
-- HTML and CSS configuration
----------------------------------------------------------------------------------------------------
-- cfg['templatestyles']
-- The name of the TemplateStyles page where CSS is kept.
-- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed.
cfg['templatestyles'] = 'Module:Documentation/styles.css'
-- cfg['container']
-- Class which can be used to set flex or grid CSS on the
-- two child divs documentation and documentation-metadata
cfg['container'] = 'documentation-container'
-- cfg['main-div-classes']
-- Classes added to the main HTML "div" tag.
cfg['main-div-classes'] = 'documentation'
-- cfg['main-div-heading-class']
-- Class for the main heading for templates and modules and assoc. talk spaces
cfg['main-div-heading-class'] = 'documentation-heading'
-- cfg['start-box-class']
-- Class for the start box
cfg['start-box-class'] = 'documentation-startbox'
-- cfg['start-box-link-classes']
-- Classes used for the [view][edit][history] or [create] links in the start box.
-- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]]
cfg['start-box-link-classes'] = 'mw-editsection-like plainlinks'
-- cfg['end-box-class']
-- Class for the end box.
cfg['end-box-class'] = 'documentation-metadata'
-- cfg['end-box-plainlinks']
-- Plainlinks
cfg['end-box-plainlinks'] = 'plainlinks'
-- cfg['toolbar-class']
-- Class added for toolbar links.
cfg['toolbar-class'] = 'documentation-toolbar'
-- cfg['clear']
-- Just used to clear things.
cfg['clear'] = 'documentation-clear'
----------------------------------------------------------------------------------------------------
-- Set to true to enable output of cfg['strange-usage-category'] if the module is used on a /doc subpage
-- or a /testcases subpage. This should be a boolean value (either true or false).
--cfg['display-strange-usage-category'] = true
cfg['display-strange-usage-category'] = false
-- cfg['strange-usage-category']
-- Category to output if cfg['display-strange-usage-category'] is set to true and the module is used on a
-- /doc subpage or a /testcases subpage.
cfg['strange-usage-category'] = '((설명문서))의 사용에 이상이 있는 위키백과 문서'
--[[
----------------------------------------------------------------------------------------------------
-- End configuration
--
-- Don't edit anything below this line.
----------------------------------------------------------------------------------------------------
--]]
return cfg
48b8862adcd7205a6b9940ebfdcf2f6d895cd9af
모듈:Message box/localize
828
46
84
2023-11-29T07:43:15Z
朴初隣
2
새 문서: -- localize param, message return { type_map = { ['신속'] = 'speedy', ['삭제'] = 'delete', ['내용'] = 'content', ['모양'] = 'style', ['이동'] = 'move', ['보호'] = 'protection', ['안내'] = 'notice', ['경고'] = 'warning', ['편집안내'] = 'editnotice', ['시스템'] = 'system', ['저작권'] = 'license', ['품질'] = 'featured' }, small_map = { ['작게'] = 'yes', ['크게'] = 'no', ['왼쪽'] = 'left' }, arg_map = { ['데모...
Scribunto
text/plain
-- localize param, message
return {
type_map = {
['신속'] = 'speedy',
['삭제'] = 'delete',
['내용'] = 'content',
['모양'] = 'style',
['이동'] = 'move',
['보호'] = 'protection',
['안내'] = 'notice',
['경고'] = 'warning',
['편집안내'] = 'editnotice',
['시스템'] = 'system',
['저작권'] = 'license',
['품질'] = 'featured'
},
small_map = {
['작게'] = 'yes',
['크게'] = 'no',
['왼쪽'] = 'left'
},
arg_map = {
['데모공간'] = 'demospace',
['종류'] = 'type',
['그림'] = 'image',
['오른쪽그림'] = 'imageright',
['모양'] = 'style',
['본문모양'] = 'textstyle',
['본문'] = 'text',
['작게'] = 'small',
['크기'] = 'small',
['작은그림'] = 'smallimage',
['작은오른쪽그림'] = 'smallimageright',
['작은본문'] = 'smalltext',
['아래'] = 'below',
['이름'] = 'name',
['문제'] = 'issue',
['해결'] = 'fix',
['풀기'] = 'subst',
['날짜'] = 'date',
['토론'] = 'talk',
['분류'] = 'cat',
['분류1'] = 'cat1',
['분류2'] = 'cat2',
['분류3'] = 'cat3',
['분류4'] = 'cat4',
['분류5'] = 'cat5',
['분류6'] = 'cat6',
['분류7'] = 'cat7',
['분류8'] = 'cat8',
['분류9'] = 'cat9',
['전체'] = 'all',
['전체1'] = 'all1',
['전체2'] = 'all2',
['전체3'] = 'all3',
['전체4'] = 'all4',
['전체5'] = 'all5',
['전체6'] = 'all6',
['전체7'] = 'all7',
['전체8'] = 'all8',
['전체9'] = 'all9',
}
}
b36d76f97f4a4f6cfb4453d4f7f889bef9093502
모듈:Message box/configuration
828
47
85
2023-11-29T07:45:08Z
朴初隣
2
새 문서: local ambox = { types = { speedy = { class = 'ambox-speedy', image = 'Ambox warning pn.svg' }, delete = { class = 'ambox-delete', image = 'Ambox warning pn.svg' }, content = { class = 'ambox-content', image = 'Ambox important.svg' }, style = { class = 'ambox-style', image = 'Edit-clear.svg' }, move = { class = 'ambox-move', image = 'Merge-split-transwiki default.svg' }, protection = { class = 'ambox-protection', image =...
Scribunto
text/plain
local ambox = {
types = {
speedy = {
class = 'ambox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ambox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ambox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ambox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ambox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ambox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ambox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
allowBlankParams = {'talk', 'sect', 'date', 'issue', 'fix', 'subst', 'hidden'},
allowSmall = true,
smallParam = 'left',
smallClass = 'mbox-small-left',
substCheck = true,
classes = {'metadata', 'plainlinks', 'ambox'},
imageEmptyCell = true,
imageCheckBlank = true,
imageSmallSize = '20x20px',
imageCellDiv = true,
useCollapsibleTextFields = true,
imageRightNone = true,
sectionDefault = 'article',
allowMainspaceCategories = true,
templateCategory = '문서 알림 상자',
templateCategoryRequireName = true,
templateErrorCategory = '매개변수를 지정하지 않은 문서 알림 상자',
templateErrorParamsToCheck = {'name', 'issue', 'fix'}
}
local cmbox = {
types = {
speedy = {
class = 'cmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'cmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'cmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'cmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'cmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'cmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'cmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'plainlinks', 'cmbox'},
imageEmptyCell = true,
templateCategory = '분류 알림 상자',
}
local fmbox = {
types = {
warning = {
class = 'fmbox-warning',
image = 'Ambox warning pn.svg'
},
editnotice = {
class = 'fmbox-editnotice',
image = 'Information icon4.svg'
},
system = {
class = 'fmbox-system',
image = 'Information icon4.svg'
}
},
default = 'system',
showInvalidTypeError = true,
allowId = true,
classes = {'plainlinks', 'fmbox'},
imageEmptyCell = false,
imageRightNone = false
}
local imbox = {
types = {
speedy = {
class = 'imbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'imbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'imbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'imbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'imbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'imbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
license = {
class = 'imbox-license licensetpl',
image = 'Imbox license.png' -- @TODO SVG 버전이 필요합니다
},
featured = {
class = 'imbox-featured',
image = 'Cscr-featured.svg'
},
notice = {
class = 'imbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'imbox'},
usePlainlinksParam = true,
imageEmptyCell = true,
below = true,
templateCategory = '파일 알림 상자'
}
local ombox = {
types = {
speedy = {
class = 'ombox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'ombox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'ombox-content',
image = 'Ambox important.svg'
},
style = {
class = 'ombox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'ombox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'ombox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'ombox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'plainlinks', 'ombox'},
allowSmall = true,
imageEmptyCell = true,
imageRightNone = true
}
local tmbox = {
types = {
speedy = {
class = 'tmbox-speedy',
image = 'Ambox warning pn.svg'
},
delete = {
class = 'tmbox-delete',
image = 'Ambox warning pn.svg'
},
content = {
class = 'tmbox-content',
image = 'Ambox important.svg'
},
style = {
class = 'tmbox-style',
image = 'Edit-clear.svg'
},
move = {
class = 'tmbox-move',
image = 'Merge-split-transwiki default.svg'
},
protection = {
class = 'tmbox-protection',
image = 'Semi-protection-shackle-keyhole.svg'
},
notice = {
class = 'tmbox-notice',
image = 'Information icon4.svg'
}
},
default = 'notice',
showInvalidTypeError = true,
classes = {'plainlinks', 'tmbox'},
allowId = true,
allowSmall = true,
imageRightNone = true,
imageEmptyCell = true,
imageEmptyCellStyle = true,
templateCategory = '토론 알림 상자'
}
return {
ambox = ambox,
cmbox = cmbox,
fmbox = fmbox,
imbox = imbox,
ombox = ombox,
tmbox = tmbox
}
5091a1504b8cfd03dafba475f6be1d13af530aba
모듈:Category handler/data
828
48
86
2023-11-29T07:47:16Z
朴初隣
2
새 문서: -- This module assembles data to be passed to [[Module:Category handler]] using -- mw.loadData. This includes the configuration data and whether the current -- page matches the title blacklist. local data = require('Module:Category handler/config') local mShared = require('Module:Category handler/shared') local blacklist = require('Module:Category handler/blacklist') local title = mw.title.getCurrentTitle() data.currentTitleMatchesBlacklist = mShared.matchesBlacklist( title.p...
Scribunto
text/plain
-- This module assembles data to be passed to [[Module:Category handler]] using
-- mw.loadData. This includes the configuration data and whether the current
-- page matches the title blacklist.
local data = require('Module:Category handler/config')
local mShared = require('Module:Category handler/shared')
local blacklist = require('Module:Category handler/blacklist')
local title = mw.title.getCurrentTitle()
data.currentTitleMatchesBlacklist = mShared.matchesBlacklist(
title.prefixedText,
blacklist
)
data.currentTitleNamespaceParameters = mShared.getNamespaceParameters(
title,
mShared.getParamMappings()
)
return data
abbc68048ff698e88dda06b64ecf384bbf583120
틀:문화어
10
49
87
2023-11-29T07:51:00Z
朴初隣
2
새 문서: <span style="font-size: smaller;">[[문화어]]:</span> {{{1}}}{{일반 기타|[[분류:문화어 표기를 포함한 문서|{{PAGENAME}}]]}}<noinclude> {{설명문서}} </noinclude>
wikitext
text/x-wiki
<span style="font-size: smaller;">[[문화어]]:</span> {{{1}}}{{일반 기타|[[분류:문화어 표기를 포함한 문서|{{PAGENAME}}]]}}<noinclude>
{{설명문서}}
</noinclude>
17fde483dfac5c7511059d913a833e7fffd09b43
틀:전쟁 정보
10
50
88
2023-11-29T08:04:34Z
朴初隣
2
새 문서: <includeonly>{{#invoke:Infobox military conflict|main}}</includeonly><noinclude>{{설명문서}}</noinclude>
wikitext
text/x-wiki
<includeonly>{{#invoke:Infobox military conflict|main}}</includeonly><noinclude>{{설명문서}}</noinclude>
b57d03d3d5dea876fba4bff8b9a4732e4b0babc2